Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript替换字符串中的所有字符用于此特定情况:replace。借__Javascript_Regex - Fatal编程技术网

如何使用JavaScript替换字符串中的所有字符用于此特定情况:replace。借_

如何使用JavaScript替换字符串中的所有字符用于此特定情况:replace。借_,javascript,regex,Javascript,Regex,JavaScript中的以下语句按预期工作: var s1 = s2.replace(/ /gi, '_'); //replace all spaces by the character _ 但是,要替换角色的所有匹配项。通过角色uux,我有: var s1 = s2.replace(/./gi, '_'); 但结果是一个完全由字符填充的字符串_ 为什么以及如何替换。通过使用JavaScript 。正则表达式中的字符将匹配所有内容。您需要转义它,因为您需要一个文字句点字符: var s1 =

JavaScript中的以下语句按预期工作:

var s1 = s2.replace(/ /gi, '_'); //replace all spaces by the character _
但是,要替换角色的所有匹配项。通过角色uux,我有:

var s1 = s2.replace(/./gi, '_');
但结果是一个完全由字符填充的字符串_


为什么以及如何替换。通过使用JavaScript

。正则表达式中的字符将匹配所有内容。您需要转义它,因为您需要一个文字句点字符:

var s1 = s2.replace(/\./gi, '_');

您需要转义点,因为它是正则表达式中的一个特殊字符

s2.replace(/\./g, '_');
请注意,点不需要在字符类中转义,因此,如果要一次性用下划线替换点和空格,可以执行以下操作:

s2.replace(/[. ]/g, '_');

使用
i
标志在这里以及在第一个正则表达式中都是不相关的。

您也可以使用字符串而不是正则表达式

var s1 = s2.replace ('.', '_', 'gi')

还有一种方法也很有效:

var s1 = s2.split(".").join("_"); // Replace . by _ //
如果需要,将“退格为”
value.replace(/“/g,“\”)

+1很好的一点-这里的正则表达式是多余的。(提示3…2…1…中的J.Z.引用)第三个参数不是标准参数。并非所有浏览器都支持它。这是一种非常奇怪的方法,它是唯一一种完全不需要RegExp的方法。这是一种不同的方法,最好是替换,它只替换第一次出现的