Why*_*ser 2 javascript regex string split
我有以下字符串:
var text = "Hello world! My name is {0}. How {1} can you be?"
Run Code Online (Sandbox Code Playgroud)
我想找到每个{n}并用空字符串替换它们.我对正则表达式完全没用,并试过这个:
text = text.split("/^\{\d+\}$/").join("");
Run Code Online (Sandbox Code Playgroud)
我确信这是一个简单的答案,可能已经存在一些答案,但我不知道该搜索什么.甚至不确定英语中的"{"是什么.
请(如果可能)保持使用"拆分"和"加入".
谢谢!
你可以通过string.replace功能实现这一点.
string.replace(/\{\d+\}/g, "")
Run Code Online (Sandbox Code Playgroud)
例:
> var text = "Hello world! My name is {0}. How {1} can you be?"
undefined
> text.replace(/\{\d+\}/g, "")
'Hello world! My name is . How can you be?'
Run Code Online (Sandbox Code Playgroud)
通过string.split.你只需要移除锚点.^声称我们刚开始并$声称我们已经结束了.因为{num}单行中不仅存在字符串,所以正则表达式失败.并删除正则表达式分隔符周围的引号/
> text.split(/\{\d+\}/).join("");
'Hello world! My name is . How can you be?'
Run Code Online (Sandbox Code Playgroud)
你很亲密 你想要的是: text = text.split(/\{\d+\}/).join("");
你错过的两件事是:
^=字符串的开头和$=字符串的结尾.由于您尝试匹配的模式周围还有其他字符,因此您不需要这些字符.split()方法中使用正则表达式,则需要使用RegExp对象,而不是字符串.删除"'s并且只使用表达式start和end /将定义一个RegExp对象.我实际上同意其他人的看法,这种replace()方法可以更好地完成你想要完成的任务,但如果你想使用split()它join(),正如你所说,这就是你需要的改变.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |