使用值替换一个或另一个字符串的最简单方法

时间:2014-08-18 21:53:49

标签: javascript replace

让我们说我想将美国或美国的所有实例改为美国是否有更优雅的方式来做到这一点,而不是运行几个替换:

function replaceUS()
{
newString = oldString.replace("United States", "U.S.");
newerString = newString.replace("US", "U.S.");
}

我知道如果我需要使用循环检查一个巨大的列表会有所帮助,但如果我只有几个选项可以检查,那么是否有一个更优雅的解决方案。我知道以下内容不起作用,但如果确实如此,那就是我想要描述的内容。有类似的东西吗?

function replaceUS()
{
newString = oldString.replace("United States" || "US", "U.S.");
}

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式作为"替换":

的第一个参数
newString = oldString.replace(/United States|US/, 'U.S.');

这可以很快变得毛茸茸。您还必须处理一个字符串可能包含多个要替换的字符串实例的事实。此外,特定于您的示例,字符串"美利坚合众国"变成了美国的美国",这可能不是你想要的。

答案 1 :(得分:0)

这是一个多次出现的版本。

var x = 'This is United States and US';
var r = x.replace(/(\bUnited States\b|\bUS\b)/g, "u.s.");
console.log(r);

你也可以看到它:

http://jsfiddle.net/s5y6msnb/1/