REGEX 替换函数不适用于应用程序脚本中字符串末尾的换行符



我有下一个函数:

function replaceEnter(str){
str= str.toString();
var re = new RegExp(/r?n|r/gm);
return str.replace(re," ");
}

也尝试过

function replaceEnter(str){
str= str.toString();
var re = new RegExp(/n/gm);
return str.replace(re," ");
}

我将其应用于单元格上的值,它有时可以完美运行,但大多数情况下,如果字符串末尾有换行符,函数将跳过它。

我使用此函数来处理文本并构建 SQL 查询,因此换行符会断开查询。

例:

..code.. +  datosQ[k][4]+"','"+replaceEnter(replaceQuotes(datosQ[k][5]))+"','" + ...more code...

replaceQuotes 将所有引号或单引号替换为角度引号,以避免查询出现问题。

我做错了什么吗?

提前谢谢你。

我认为您已经在某个地方测试了这个表达式,以确保它确实有效,因为我还没有。

尝试:

var re = new RegExp('\r?\n|\r','gm');

最新更新