我有这种类型的输入,例如:
Star Wars 1977
输出应为:
Star Wars (1977)
如何使用replace()方法获取它?
答案 0 :(得分:3)
您可以使用正则表达式匹配一年,然后替换它:
var str = "Star Wars 1977";
str = str.replace(/(\d{4})/, '($1)'); // $1 is the first match, which is the year
console.log(str);

如果您正在处理电影,那么有些电影的标题有多年,因此,为了与标题中的年份不匹配,您只能在字符串末尾捕获年份:
var str = "2001: A Space Odyssey 1968";
str = str.replace(/(\d{4})$/, '($1)'); // $1 is the first match, which is the year
console.log(str);

答案 1 :(得分:0)
或者......如果您知道要替换的内容:
'Star Wars 1977'.replace('1977','($&)')
我只是觉得我提到这个(即使正则表达式是要走的路),因为我偶然发现了正常的字符串替换标记(实际上是通过一个bug;)。)。