如何从字符串中删除数字?

2022-08-30 05:41:58

我想从字符串中删除数字:

questionText = "1 ding ?"

我想替换数字和问号。它可以是任何数字。我尝试了以下非工作代码。1?

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

答案 1

非常接近,请尝试:

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

replace不适用于现有字符串,它将返回一个新字符串。如果你想使用它,你需要保留它!
同样,您可以使用一个新变量:

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

最后一个技巧是一次删除整个数字块,但这个技巧可能走得太远了:

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

答案 2

字符串是不可变的,这就是为什么它本身确实有效,但它不会改变问题Text-string。您必须将替换的结果分配给另一个 String 变量或再次分配给 questionText 本身。questionText.replace(/[0-9]/g, '');

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

或在1次中(使用,请参阅Kobi的答案):\d+

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

如果您想在使用时修剪前导(和尾随)空格:

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