从string中删除数字?

从string中删除数字

questionText = "1 ding ?" 

我想代替这个号码和问题的号码,号码可以是任何数字,我试着下面的代码那不工作

  questionText.replace(/[0-9]/g, ''); 

非常接近,尝试:

 questionText = questionText.replace(/[0-9]/g, ''); 

replace不起作用的现有string,它会返回一个新的。 如果你想使用它,你需要保持它!
同样,你可以使用一个新的variables:

 var withNoDigits = questionText.replace(/[0-9]/g, ''); 

最后一个诀窍是一次删除整个数字块,但那个可能会过分:

 questionText = questionText.replace(/\d+/g, ''); 

string是不可变的 ,这就是为什么questionText.replace(/[0-9]/g, ''); 在它自己的工作,但它不会改变questionTextstring。 您将不得不将replace的结果分配给另一个stringvariables或再次提交给questionText。

 var cleanedQuestionText = questionText.replace(/[0-9]/g, ''); 

或在1去(使用\d+ ,见KOBI的答案):

  questionText = ("1 ding ?").replace(/\d+/g,''); 

如果你想修剪前面(和后面)的空间,

  questionText = ("1 ding ?").replace(/\d+|^\s+|\s+$/g,''); 

你非常接近。

以下是您在问题中编写的代码:

 questionText.replace(/[0-9]/g, ''); 

你写的代码确实看问题文本variables,并产生输出是原始string,但数字replace为空string。

但是,它不会自动将其分配回原始variables。 您需要指定将其分配给的内容:

 questionText = questionText.replace(/[0-9]/g, ''); 

只是想添加,因为它可能是有兴趣的人,你也可以以另一种方式思考问题。 我不确定这里是否有兴趣,但我觉得它是相关的。

我的意思是说“去掉那些不是我正在寻找的东西,也就是说,如果你只想要'叮',你可以说:

var strippedText =(“1 ding?”)。replace(/ [^ a-zA-Z] / g,'');

这基本上意味着“删除任何不正确的a,b,c,d …. Z(任何字母)。