使用JavaScript从字符串中删除字符

12

我有一个逗号分隔的字符串,如下:

var test = 1,3,4,5,6,

我想使用JavaScript从该字符串中删除特定字符,有人能提供建议吗?


3
您期望的结果是什么? - nhahtdh
你想从字符串中删除分隔符或某些数字吗?你想输出什么:数组还是字符串? - Gaël Barbin
可能是重复的问题:Javascript - remove character from a string - MT0
7个回答

42
JavaScript字符串提供了replace方法,它接受一个字符串作为参数,该字符串的第一个实例被替换或RegEx,如果是全局的,则替换所有实例。
示例:
var str = 'aba';
str.replace('a', ''); // results in 'ba'
str.replace(/a/g, ''); // results in 'b'

如果你警报 str - 你会得到相同的原始字符串,因为字符串是不可变的。你需要将它重新分配回字符串:
str = str.replace('a', '');

谢谢您的回答,对我非常有帮助。 - darla_sud

6
使用replace函数,如果您要删除字符的多个出现,请按以下方式使用replace
var test = "1,3,4,5,6,";
var newTest = test.replace(/,/g, '-');

在这里,newTest将变为"1-3-4-5-6-"


4
您可以使用JavaScript的replace()方法。该方法将搜索字符串并在找到匹配项时替换它们。
var str="Visit Microsoft!";
var n=str.replace("Microsoft","My Blog");

1
var test = '1,3,4,5,6';​​

//to remove character
document.write(test.replace(/,/g, '')); 

//to remove number
function removeNum(string, val){
   var arr = string.split(',');
   for(var i in arr){
      if(arr[i] == val){
         arr.splice(i, 1);
         i--;
      }
  }            
 return arr.join(',');
}

var str = removeNum(test,3);    
document.write(str); // output 1,4,5,6

1

你也可以

var test1 = test.split(',');

delete test1[2];

var test2 = test1.toString();

玩得开心 :)


0

你可以通过逗号将字符串分割成数组,然后从该数组中删除特定的元素[字符、数字或字符串]。一旦元素被删除,你可以再次将数组中的元素连接成一个字符串。

  

// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};


0
你可以使用这个函数。
function removeComma(inputNumber,char='') {

        return inputNumber.replace(/,/g, char);
    }

更新

   function removeComma(inputNumber) {
        inputNumber = inputNumber.toString();
        return Number(inputNumber.replace(/,/g, ''));
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接