需要从此字符串中删除前导字符(#或+)

时间:2013-11-06 22:06:35

标签: javascript

在下面的情况中,我需要删除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);

Here is the fiddle.

2 个答案:

答案 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修饰符,它只会替换它找到的第一个修饰符。