<分区>
我正在尝试使用 JavaScript 进行替换:
r = "I\nam\nhere";
s = r.replace("\n"," ");
但不是给我
I am here
作为s
的值,
它返回相同的值。
问题出在哪里??
<分区>
我正在尝试使用 JavaScript 进行替换:
r = "I\nam\nhere";
s = r.replace("\n"," ");
但不是给我
I am here
作为s
的值,
它返回相同的值。
问题出在哪里??
最佳答案
正如其他人所说,您的正则表达式缺少全局标志。正确的表达方式应该是别人给你的东西。
var r = "I\nam\nhere";
var s = r.replace(/\n/g,' ');
我想指出与一开始发生的事情的不同之处。 您正在使用以下语句
var r = "I\nam\nhere";
var s = r.replace("\n"," ");
这些陈述确实是正确的,并且将替换字符\n 的一个实例。它使用不同的算法。当给出要替换的 String 时,它将查找第一次出现的位置,并简单地将其替换为作为第二个参数给出的字符串。当使用正则表达式时,我们不只是寻找要匹配的字符,我们可以编写复杂的匹配语法,如果找到一个或多个匹配项,则将替换它。更多关于 JavaScript 正则表达式的信息可以在这里找到 w3schools .
例如,您制作的方法可以更通用,以解析来自几种不同类型文件的输入。由于操作系统的差异,在需要换行的地方使用\n 或\r 的文件是很常见的。为了能够同时处理您的代码,可以使用正则表达式的某些功能重写。
var r = "I\ram\nhere";
var s = r.replace(/[\n\r]/g,' ');
关于javascript - 在javascript中替换 '\n',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072313/