javascript:从字符串中获取某些字符后的所有内容?

时间:2016-12-04 15:45:16

标签: javascript jquery

我试图在字符串中的某些字符后获取所有内容。

但是当我提醒()时,我不知道为什么和我在一起。结果,字符串前面有一个逗号!

这是一个有效的FIDDLE

这是我的代码:

var url = "mycool://?string=mysite.com/username_here80";
var urlsplit = url.split("mycool://?string=");

alert(urlsplit);

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

string对象的split function返回基于拆分器的元素数组。在您的情况下 - 返回的2个元素:



var url = "http://DOMAIN.com/username_here801";
var urlsplit = url.split("//");

console.log(urlsplit);




您看到的逗号只是数组表示为字符串。

如果您希望获得 子字符串后的所有内容,最好使用indexOfslice



var url = "http://DOMAIN.com/username_here801";
var splitter = '//'
var indexOf = url.indexOf(splitter);

console.log(url.slice(indexOf+splitter.length));




答案 1 :(得分:1)

Split将字符串分隔为由分隔符分隔的标记。它总是返回一个比字符串中的标记数更长的数组。如果有一个分隔符,则有两个令牌 - 一个在左边,一个在右边。在您的情况下,左侧的标记是空字符串,因此split()返回数组["", "mysite.com/username_here80"]。尝试使用

var urlsplit = url.split("mycool://?string=")[1]; // <= Note the [1]!

检索数组中的第二个字符串(这是你感兴趣的)。

你得到逗号的原因是将数组转换为字符串(这是alert()所做的)会导致以逗号分隔的数组元素列表转换为字符串。