用于替换多个缩写的jQuery/Javascript解决方案

DjH*_*DjH 3 javascript string jquery replace

例如,我需要一些能解析字符串的东西,并用完整的单词替换多个街道类型的缩写('Rd'将成为'Road').这有点回答这里,但我想要一个像下面这样的单个对象,因为这将是一个很长的列表,这将有助于保持正确的组织,

var streets = {
       'RD': 'ROAD',
       'ST': 'STREET',
       'PL': 'PLACE'};
Run Code Online (Sandbox Code Playgroud)

我知道我以前见过这样的事情,但是我有点迷失如何从这里开始.我知道我需要接受有问题的字符串并通过这个'过滤器'运行值(如果你可以这样称呼它),但我只是不确定如何,因为我仍然是新手.非常感谢

Ror*_*san 8

你只需要一个简单的for/in循环来遍历键并在字符串中替换它们,如下所示:

var input = "something RD, other ST, some PL, another RD";
var streets = {
  'RD': 'ROAD',
  'ST': 'STREET',
  'PL': 'PLACE'
};

for (var key in streets) {
  var re = new RegExp(key, 'gi');
  input = input.replace(re, streets[key]);
}

console.log(input);
Run Code Online (Sandbox Code Playgroud)

您还可以更改正则表达式逻辑,以便在需要时使匹配更准确; 它完全取决于输入字符串的格式.