0

在下面的情况下,我需要去掉 vars b & c 的第一个“#”或“+”字符,这样它们就可以成为 vars a & a1,它们曾经是在其他地方构建的新 url 中的字符串。

这是代码:

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);

这是小提琴。

4

2 回答 2

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);
于 2013-11-06T22:23:41.847 回答
0

更新了你的小提琴

您可以很容易地使用正则表达式替换第一次出现的字符:

var a = b.replace(/[#+]/,'');
var a1 = c.replace(/[#+]/,'');

如果没有g修饰符,它只会替换它找到的第一个。

于 2013-11-06T22:10:43.137 回答