是java脚本的新手。我有一个字符串变量,如下所示
var linkedinid = R3kyEgkyJxlinkedin; // it may sometimes R3kyEgkyJxlinkedincompany
我必须将此字符串拆分为仅获取id部分,即" R3kyEgkyJx"
我打算做的是在字符串中找到索引值linkedin或linkedincompany并仅获取id部分。我尝试了以下代码。它得到了预期的结果。但我不确定这是最好的方法。我不知道还有其他更好的方法。请指导我正确的方向。非常感谢您的帮助。谢谢
var str = "R3kyEgkyJxlinkedin"; // R3kyEgkyJxlinkedincompany (sometimes string may contain linkedincompany)
var n = str.indexOf("linkedin");
if(n == -1) {
n = str.indexOf("linkedincompany");
if(n == -1) {
// no match found
} else {
var id = id = str.slice(0,n);
}
} else {
var id = str.slice(0,n);
}
console.log('linked in id', id);
答案 0 :(得分:2)
这应该可以解决问题:
var str = "R3kyEgkyJxlinkedin",
id = str.replace('linkedincompany', '').replace('linkedin', '');
基本上,只需从字符串中删除"linkedincompany"
和"linkedin"
。
或者,甚至更短:
id = str.replace(/linkedin(company)?/, '');
或者:
id = str.replace(/linkedin.*$/, '');
答案 1 :(得分:2)
你可以找到" linkedin"的索引。并使用从0到该索引的子字符串:
var linkedinid = "R3kyEgkyJxlinkedin";
var id = linkedinid.substr(0, linkedinid.indexOf('linkedin') );
如果没有" linkedin"子字符串它将作为s.substr(0, -1)
然后id == ""
。
答案 2 :(得分:0)
如果您确定要删除的字符串的值: 比如上面的情况你想删除大小为8的linkedin, 你也可以试试: -
var linkedinId = "R3kyEgkyJxlinkedin";
linkedinId = linkedinId.slice(0,-8); //or linkedinId.slice(0,-15); in case of R3kyEgkyJxlinkedincompany