多次从字符串中删除字符

app*_*ges -2 javascript string replace

我有以下字符串,我想删除所有EUR的实例

var str = "200.00 EUR, 33.33 EUR, 100.95 EUR, 300 EUR";
Run Code Online (Sandbox Code Playgroud)

所以输出是:

var str ="200.00,33.33,100.95,300";

我试过了

var res = str.replace("EUR", "");
Run Code Online (Sandbox Code Playgroud)

但这只能取消欧元一次.

ati*_*589 6

您可以使用正则表达式 替换字符串.请记住字符串是不可变的,因此原始字符串将保持不变.

var str = "200.00 EUR, 33.33 EUR, 100.95 EUR, 300 EUR";
var str1 = str.replace( /\s*EUR/g, "");
console.log(str1);
Run Code Online (Sandbox Code Playgroud)

在字符串replace()中,它将搜索单词'EUR',当它找到所需的值时,它将替换为给定的值.因为它找到了所需的值并替换它.它不会再搜索了.这就是你需要带/ g标志的正则表达式的原因.没有/ g标志它将工作相同


Alw*_*nny 5

尝试使用全局替换:通过replace()/g上的标志

其中, g是全局区分大小写的替换

var string  = '200.00 EUR, 33.33 EUR, 100.95 EUR, 300 EUR';
string = string.replace(/ EUR/g, '');
console.log(string);
Run Code Online (Sandbox Code Playgroud)

全局替换只能用正则表达式来完成。在以下示例中,正则表达式包括全局变量,它允许 replace() 将字符串中出现的每个 'EUR' 替换为 ''

见演示:https : //jsfiddle.net/t7jz3h9k/11/

根据评论:

var string  = '200.00 EUR, 33.33 PND, 100.95 DLR, 300 EUR';
string = string.replace(/ EUR| PND| DLR/g, '');
console.log(string);
Run Code Online (Sandbox Code Playgroud)