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

时间:2016-05-18 12:39:09

标签: javascript jquery string replace

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

var streets = {
       'RD': 'ROAD',
       'ST': 'STREET',
       'PL': 'PLACE'};

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

2 个答案:

答案 0 :(得分: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);




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

答案 1 :(得分:1)

对于固定字符串,请使用var number1 = 2; var number2 = 3; var number3 = number1+number2; console.log(number3); 这样的

.split().join()

结果

var streets = { 'RD': 'ROAD', 'ST': 'STREET', 'PL': 'PLACE'};
var str = 'Some ST that is by the PL along the RD where the ST is by that PL.'

for(k in streets){ str = str.split(k).join(streets[k]) }