我试图在字符串中的某些字符后获取所有内容。
但是当我提醒()时,我不知道为什么和我在一起。结果,字符串前面有一个逗号!
这是一个有效的FIDDLE
这是我的代码:
var url = "mycool://?string=mysite.com/username_here80";
var urlsplit = url.split("mycool://?string=");
alert(urlsplit);
任何帮助将不胜感激。
答案 0 :(得分:2)
string
对象的split
function返回基于拆分器的元素数组。在您的情况下 - 返回的2个元素:
var url = "http://DOMAIN.com/username_here801";
var urlsplit = url.split("//");
console.log(urlsplit);

您看到的逗号只是数组表示为字符串。
如果您希望获得 子字符串后的所有内容,最好使用indexOf
和slice
:
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()
所做的)会导致以逗号分隔的数组元素列表转换为字符串。