gpt4 book ai didi

javascript - 无法替换 Javascript 中的字符串

转载 作者:行者123 更新时间:2023-11-28 13:25:13 24 4
gpt4 key购买 nike

我有一个像这样的字符串“[[String1]],[[String2]],[[String3]]”。我需要删除所有方括号。为此,我使用了 Javascript 中的替换函数。

var str = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/[[/g,''); //not working
var str2 = str1.replace(/]]/g,''); //working

谁能帮我解决这个问题。

最佳答案

在正则表达式中,[ 具有特殊含义(它启动一个“字符类”,您可以在其中表示 [abc],它匹配 a bc)。

为了使其不特殊,请在其前面添加一个反斜杠以对其进行转义:

var str = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/\[\[/g,'');
var str2 = str1.replace(/]]/g,'');
snippet.log("str = " + str);
snippet.log("str1 = " + str1);
snippet.log("str2 = " + str2);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

事实上,字符类可以在这里提供帮助,因为您想同时替换 [],所以:

var str = "[[String1]],[[String2]],[[String3]]";
var str1 = str.replace(/[\[\]]/g,'');
snippet.log("str = " + str);
snippet.log("str1 = " + str1);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

在正则表达式 /[\[\]]/g 中,第一个 [ 和最后一个 ] 标记字符类,并且里面的 \[\] 是文字字符 []。 (从技术上讲,您不需要转义字符类中的 [ ,但我必须承认我倾向于......我不知道......清晰度。)

关于javascript - 无法替换 Javascript 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com