Javascript 字符串操作,在数字前插入一个字符串
嗨,我有这根绳子Javascript 字符串操作,在数字前插入一个字符串,javascript,regex,Javascript,Regex,嗨,我有这根绳子 "Remote Control 14.12, Foo Bar 41.2, Wooden Chair 83.13" 我想成功 "Remote Control - 14.12, Foo Bar - 41.2, Wooden Chair - 83.13" 尝试链接正则表达式,但我可以找到插入中间的方法。任何帮助都将不胜感激。这是一项工作:匹配并替换一个空格,如果它后面跟一个数字: result = subject.replace(/ (?=\d)/g, " - "); 说明:
"Remote Control 14.12, Foo Bar 41.2, Wooden Chair 83.13"
我想成功
"Remote Control - 14.12, Foo Bar - 41.2, Wooden Chair - 83.13"
尝试链接正则表达式,但我可以找到插入中间的方法。任何帮助都将不胜感激。
这是一项工作:匹配并替换一个空格,如果它后面跟一个数字:result = subject.replace(/ (?=\d)/g, " - ");
说明:
如果您还想在数字后插入破折号(但不是在字符串的末尾),则必须在单独的步骤中插入破折号,因为JavaScript令人遗憾地缺乏对lookbehind断言的支持:
final_result = result.replace(/, /g, " - ");
这是一个作业:匹配并替换后跟数字的空格:
result = subject.replace(/ (?=\d)/g, " - ");
说明:
如果您还想在数字后插入破折号(但不是在字符串的末尾),则必须在单独的步骤中插入破折号,因为JavaScript令人遗憾地缺乏对lookbehind断言的支持:
final_result = result.replace(/, /g, " - ");
如果没有前瞻性,您可以使用以下正则表达式:
var s = "Remote Control 14.12, Foo Bar 41.2, Wooden Chair 83.13";
var r = s.replace(/( \d)/g, " -$1");
//=> "Remote Control - 14.12, Foo Bar - 41.2, Wooden Chair - 83.13"
搜索:
1st Capturing group ( \d) - capture this string into `$1` where
matches the character " " (space) literally
\d match a digit [0-9]
" -$1" which is space followed by hyphen followed by $1 (back reference to string captured)
替换为:
1st Capturing group ( \d) - capture this string into `$1` where
matches the character " " (space) literally
\d match a digit [0-9]
" -$1" which is space followed by hyphen followed by $1 (back reference to string captured)
如果没有前瞻性,您可以使用以下正则表达式:
var s = "Remote Control 14.12, Foo Bar 41.2, Wooden Chair 83.13";
var r = s.replace(/( \d)/g, " -$1");
//=> "Remote Control - 14.12, Foo Bar - 41.2, Wooden Chair - 83.13"
搜索:
1st Capturing group ( \d) - capture this string into `$1` where
matches the character " " (space) literally
\d match a digit [0-9]
" -$1" which is space followed by hyphen followed by $1 (back reference to string captured)
替换为:
1st Capturing group ( \d) - capture this string into `$1` where
matches the character " " (space) literally
\d match a digit [0-9]
" -$1" which is space followed by hyphen followed by $1 (back reference to string captured)
你能告诉我怎么读那个正则表达式吗?我明白了,这对我会有帮助的。把字符串变成“Remote Control-14.12-Foo Bar-41.2-Woody Chair-83.13”怎么样?我还在学习regex的工作方式。你需要在另外一个步骤中完成这项工作,因为JavaScript只支持向前看,不支持向后看(你需要检查前一个字符是否是数字)。像这样吗<代码>str.replace(/(?=\d)/g,“-”)。replace(/,/g,“-”)可以吗?你能告诉我如何读取那个正则表达式吗?我明白了,这对我会有帮助的。把字符串变成“Remote Control-14.12-Foo Bar-41.2-Woody Chair-83.13”怎么样?我还在学习regex的工作方式。你需要在另外一个步骤中完成这项工作,因为JavaScript只支持向前看,不支持向后看(你需要检查前一个字符是否是数字)。像这样吗<代码>str.replace(/(?=\d)/g,“-”)。replace(/,/g,“-”)可以吗?哇。太棒了。你能告诉我为什么要给元字符加括号,以及如何读取正则表达式吗?美元符号是什么意思?补充了一些解释。我明白了。把绳子变成这个“遥控器-14.12-Foo Bar-41.2-木椅-83.13”怎么样?我还在学习regex的工作方式。哇。太棒了。你能告诉我为什么要给元字符加括号,以及如何读取正则表达式吗?美元符号是什么意思?补充了一些解释。我明白了。把字符串变成这个“遥控器-14.12-Foo Bar-41.2-Woody Chair-83.13”怎么样?我还在学习regex的工作方式。在尝试使用它们之前,你可能想这样做。在尝试使用它们之前,你可能想这样做。