在javascript中,我有一个类似substringof('para1',para2) and substringof('para3',para4) and xxx and xxx or other strings
的字符串,我想将其转换为contains(para2,'para1') and contains(para4,'para3')
所以,我需要做的是交换substringof
中的2个参数,然后将substringof
替换为contains
感谢
答案 0 :(得分:4)
像
这样的东西string.replace(/substringof\(([^,]+),([^)]+)/, "substringof($2,$1");
([^,]+)
匹配第1组,
中$1
次抓取以外的任何内容。这与第一个参数匹配。
([^)]+)
匹配)
以外的任何内容,在第2组中捕获$2
。此部分与第二个参数匹配。
示例强>
"substringof('para1',para2)".replace(/substringof\(([^,]+),([^)]+)/, "substringof($2,$1"));
// Outputs
// => substringof(para2,'para1')
答案 1 :(得分:1)
这是你需要做的。希望它有所帮助。
var str = "substringof('para1',para2) and substringof('para3',para4)";
var replacedStr = str.replace(/substringof\(([^,]+),([^)]+)/g, "contains($2,$1");