在字符串中,我尝试在space
之前制作(
。
例如,
foo(
应替换为foo (
。
在JavaScript中,
\S\(/g
我确认此正则表达式匹配 fo o(
,但不确定如何将其替换为 fo o (
我知道这应该由$1
个变量来完成,但是你能告诉我这个方法吗?谢谢。
答案 0 :(得分:0)
这样就可以了:
var str = "foo(hello)";
str = str.replace(/(?=\S\()(\S)/g, "$1 ");
工作正则表达式示例:
答案 1 :(得分:0)
var s = "foo()";
var withSpaces = s.replace(/(\S)\(/g, '$1 (');
唯一会遇到麻烦的地方是,如果括号出现在字符串的开头,\S
将不匹配。在这种情况下,你可以这样做:
var withSpaces = s.replace(/(\S|^)\(/g, '$1 (');
答案 2 :(得分:0)
这有效 -
var str = "foo()";
str.replace(/(\S)(\()/, "$1 $2");
//OUTPUT - foo ()
答案 3 :(得分:0)
var string = "foo()";
var foo = string.replace("\(", " (");
console.log(foo);
答案 4 :(得分:0)
var str = 'foo() abc()';
var regex = /(\S)\(/g;
str = str.replace(regex,"$1 (");//foo () abc ()
console.log(str);
str = str.replace(regex,"$1 (");//not duplicate space
console.log(str);
答案 5 :(得分:0)
split
+ join
替代方:
'foo ()'.split(/ *\(/).join(' (')