我试图从我的字符串中删除欧元符号。
由于字符串看起来像€33.0000 - €37.5000,我首先在我试图删除欧元符号后爆炸。
var string = jQuery('#amount').val();
var arr = string.split(' - ');
if(arr[0] == arr[1]){
jQuery(this).find('.last').css("display", "none");
}else{
for(var i=0; i< arr.length; i++){
arr[i].replace('€','');
console.log(arr[i]);
}
}
当我在我的网站上试用它时,当我得到这样的字符串时,欧元符号都没有被删除
var string = jQuery('#amount').val().replace("€", "");
仅删除第一个欧元符号
答案 0 :(得分:1)
.replace()
仅使用字符串替换第一个匹配项,并使用RegExp替换所有匹配项:
jQuery('#amount').val().replace(/€/g, "")
答案 1 :(得分:0)
尝试使用带有全局替换标志的正则表达式:
"€33.0000 - €37.5000".replace(/€/g,"")
答案 2 :(得分:0)
首先摆脱€(全球),而不是将字符串拆分为数组部分
var noeur = str.replace(/€/g, '');
var parts = noeur.split(" - ");
答案 3 :(得分:0)
第一次尝试的问题是replace()
method返回一个新字符串。它不会改变它执行的那个。
所以它应该是arr[i] = arr[i].replace('€','');
默认情况下,replace
方法仅替换第一次出现。
您可以使用正则表达式支持并传递全局修饰符g
,以便它适用于整个字符串
var string = Query('#amount').val().replace(/€/g, "");
答案 4 :(得分:0)
var parts = /^€([0-9.]+) - €([0-9.]+)$/.exec(jQuery('#amount').val()), val1, val2;
if (parts) {
val1 = parts[1];
val2 = parts[2];
} else {
// there is an error in your string
}
你也可以在这里和那里容忍空格:/^\s*€\s*([0-9.]+)\s*-\s*€\s*([0-9.]+)\s*$/