javascript:从字符串中获得某些字符后的所有内容?
问题描述:
我想在字符串中的某些字符之后获取所有内容。我不知道为什么用我的,当我alert();我不知道为什么用我的,当我alert();我不知道为什么用我的,当我alert();结果,在字符串之前有一个逗号!javascript:从字符串中获得某些字符后的所有内容?
这里是一个工作FIDDLE
这是我的代码:
var url = "mycool://?string=mysite.com/username_here80";
var urlsplit = url.split("mycool://?string=");
alert(urlsplit);
任何帮助,将不胜感激。
答
Split将字符串分隔为由分隔符分隔的令牌。它总是返回比字符串中的令牌数量更长的数组。如果有一个分隔符,则有两个标记—一个在左边,一个在右边。在你的情况下,左边的标记是空字符串,所以split()
返回数组["", "mysite.com/username_here80"]
。尝试使用
var urlsplit = url.split("mycool://?string=")[1]; // <= Note the [1]!
检索数组中的第二个字符串(这是你感兴趣的)。
您得到逗号的原因是将数组转换为字符串(这是alert()
所做的)会导致将数组元素转换为字符串的逗号分隔列表。
答
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));
答
我会使用一个简单的替换..
var s = "mycool://?string=mysite.com/username_here80";
var ss = s.replace("mycool://?string=", "");
alert(ss);
String#split正好返回一个'Array'(是的,一个真正的ins 'Array',因此获取最新元素的一种方法是使用'last' getter'',所以'alert'将这个分割数组串联起来。 – Hydro
请改用'url.split(“=”)。pop()'。 – trincot