如何替换字符串javascripts中的特定char

时间:2016-09-14 02:37:37

标签: javascript

如果多次出现,我想删除给定的char。

var input = "12313*12313*13";
var count = (input.match(/[*]/g) || []).length;

if (count > 1)
{
  x = 0;
  for (var i = 0, len = input.length; i < len; i++) {
    if (input[i] == '*')
    {
      if (x == 0)
      {
        x++;
        continue;
      }
      input[i] = '';
    }
  }
}

console.log(input);

给定的字符为*,我想从字符串中删除其他*

我希望输出12313*1231313

1 个答案:

答案 0 :(得分:2)

使用lastIndexOfsubstring的简单解决方案:

此解决方案仅适用于2次:

var input = "12313*12313*13";
var count = (input.match(/[*]/g) || []).length;

if (count > 1) {
  var i = input.lastIndexOf('*');
  input = input.substring(0, i) + input.substring(i + 1);
}

console.log(input);

这是前一个的重构,它适用于N次出现:

var input = "12313*12313*13*12*13232*12312";
var count = (input.match(/[*]/g) || []).length;
var i;

while(count > 1) {
  i = input.lastIndexOf('*');
  input = input.substring(0, i) + input.substring(i + 1);
  count--;
}

console.log(input);