在下面的情况中,我需要删除vars b&的第一个“#”或“+”字符。 c所以他们可以成为变种a1曾经是在其他地方建立的新网址中的字符串。
以下是代码:
var b = "http://www.somewhere.com/search/#foo+bar+baz"
var c = "http://www.somewhere.com/search/++bar+baz"
var a = b.split("/")[4].split("+").slice(0, 1);
var a1 = c.split("/")[4].split("+").slice(0, 1);
答案 0 :(得分:1)
这适合我的小提琴。
var b = "http://www.somewhere.com/search/#foo+bar+baz"
var c = "http://www.somewhere.com/search/++bar+baz"
var a = b.split("/")[4].split("+").slice(0, 1);
if(a[0].indexOf('#') != -1){a = a[0].split('#')[1]}
var a1 = c.split("/")[4].split("+");
var i=0;
while(true){
if(a1[i] != ''){a1 = a1[i]; break;}
i++;
}
$("#result").html(a);
$("#result2").html(a1);
console.log(a);
console.log(a1);
答案 1 :(得分:0)
更新了your fiddle
您可以非常轻松地使用正则表达式替换第一个出现的char:
var a = b.replace(/[#+]/,'');
var a1 = c.replace(/[#+]/,'');
如果没有g
修饰符,它只会替换它找到的第一个修饰符。