REGEX替换功能不适用于App脚本中字符串结尾处的换行符

时间:2020-05-25 14:06:08

标签: javascript google-apps-script

我有下一个功能:

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将所有引号或单引号替换为角引号,以避免查询出现问题。

我在做错什么吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

尝试:

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