javascript - 用特殊字符和空格替换js代码行

标签 javascript jquery parsing

我在文本区域和连续的 div 中有几行文本,代表这些行。 我正在尝试重新排序 div 并相应地重新排序文本行。

Div 与数组中文本行的索引具有相同的 id。

现在我坚持删除行。 如果是简单的文本,可以删除行。但就我而言,这是一段 js 代码。但由于某种原因它不起作用。

工作代码http://codepen.io/one2gov/pen/eBGqBR?editors=1111 (降低selectedDivNumber进行检查)

var selectedDivNumber = 2;
var linesArray = ["line0;", "line1;", "tl.to(abstract_m, 13,  {x:'1327', y:'117', autoAlpha:1, delay:4}, 'num_sound');"];
var arrayNumber = linesArray[selectedDivNumber];

textArea = $("#fname").val();
textArea = textArea.split(';');   

arrayNumber = new RegExp(arrayNumber,'g');
$("#fname").html($("#fname").html().replace(arrayNumber, "something else;"));

我尝试在 .replace 变量 arrayNumber 中使用,现在我将其转换为新的 RegExp,但没有成功。

最佳答案

您尝试替换的字符串由于 {( 等特殊字符而破坏了正则表达式。

我为此使用了 RegExp 转义函数:

RegExp.escape= function(s) {
  return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); //replace special characters so RegExp won't break
};

//tl.to(abstract_m, 13,  {x:'1327', y:'117', autoAlpha:1, delay:4}, 'num_sound');

var selectedDivNumber = 2;
var linesArray = ["line0;", "line1;", "tl.to(abstract_m, 13,  {x:'1327', y:'117', autoAlpha:1, delay:4}, 'num_sound');"];
var arrayNumber = linesArray[selectedDivNumber];

textArea = $("#fname").val();
textArea = textArea.split(';');   

arrayNumber = new RegExp(RegExp.escape(arrayNumber),'g'); //escape with RegExp.escape
$("#fname").html($("#fname").html().replace(arrayNumber, "something else;"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id = "fname" = rows="4" cols="50">
line0;
line1;
tl.to(abstract_m, 13,  {x:'1327', y:'117', autoAlpha:1, delay:4}, 'num_sound');
</textarea>

关于javascript - 用特殊字符和空格替换js代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40873397/

相关文章:

javascript - 刷新后如何选择相同的div

javascript - Gulp 4 监视任务未检测到更改

JavaScript/jQuery : How do I remove a range of numbered classes?

javascript - jquery如何根据定义的变量获取相关id的信息

python - 为什么我的 Python 代码不接受 %z 作为 DateTime 指令?

python - 如何正确拆分以下字符串? - Python

javascript - 将一个函数传递给另一个函数

javascript - 传递到组件中的 Prop 不呈现

jquery - 用 jQuery 中的另一个 div 包装一组不同类的 div

python - 使用 Python 解析 DOM 以提取数据