从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(任何字母)。