gpt4 book ai didi

JavaScript 正则表达式帮助

转载 作者:行者123 更新时间:2023-11-28 12:46:37 26 4
gpt4 key购买 nike

我在 JavaScript 中有以下字符串

  var mystring = " abcdef(p,q); check(x,y); cef(m,n);"

我想做一个字符串替换,这样我的最终字符串是:

  mystring = " abcdef(p,q); someothercheck\(x,y\); cef(m,n);"

替换后 x 和 y 应保持不变。反斜杠是必要的,因为我需要将它们传递给其他命令。

字符串中还可以有其他括号。

最佳答案

如果没有其他括号,应该很容易。

mystring = mystring.replace("check(", "someothercheck\\(");
mystring = mystring.replace(")", "\\)");

编辑 这也适用于多个括号的情况(它不影响空括号)。 var str =“abcdef;检查(x,y);cef();” 帕特 =/((\w)/g;

// transform (x in \(x
str = str.replace(patt, '\\($1');

patt = /(\w)\)/g

// transform y) in y\);
str = str.replace(patt, '$1\\)');

// transform check in someothercheck
str = str.replace('check', 'someothercheck');

编辑现在它仅转换检查字符串。

function convertCheck(str, check, someOtherCheck) {
// console.log(str + " contains " + check + "? ");
// console.log(str.indexOf(check));

if (str.indexOf(check) === -1) return str;
var patt1 = /\((\w)/g,
patt2 = /(\w)\)/g;

str = str.replace(patt1, '\\($1');
str = str.replace(patt2, '$1\\)');
str = str.replace(check, someOtherCheck);

return str;
}

var str = "abcdef(); check(x,y); cef();",
tokens = str.split(';');
for (var i = 0; i < tokens.length; i++) {
tokens[i] = convertCheck(tokens[i], "check", "someothercheck");
}
str = tokens.join(";");

alert(str); // "abcdef(); someothercheck/(x,y/); cef();"

关于JavaScript 正则表达式帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7051176/

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