2015-12-24 24 views
-3

这可能是您所有人的基本问题。但是,我已经尝试了2个多小时的研究,但没有找到完美的解决方案。如何在Javascript中使用分隔符获取部分字符串

我在格式

var x = "A:B:C:D:E"; 

一个字符串,我想只提取至C,或让我们说,通过使用“:” delimitter,我们怎么能只提取字符串的某一部分?我试过各种JS功能,但没有解决?可以请某人在这里帮忙。

编辑:谢谢你们。为我的问题找到解决方案。以下是我从其中一条评论中使用的代码。

var x = "A:B:C:D:E"; 
var output=x.split(':').slice(0,3).join(':'); 
+0

你想'[ “A”, “B”, “C”]'或' “A:B:C”' ?你有什么努力去实现它? – void

+1

你打算怎么知道要提取哪个部分?获得这个“特定部分”的规则是什么?为什么选择“C”而不是“D”或“B”? –

+0

如果你想''“A”,“B”,“C”]'你可以使用'split(':',3);'第二个参数限制返回哪些分割。 – abhishekkannojia

回答

0

创建使用.indexOf.substr这需要三个参数,第一个字符串本身,第二个,直到你想保留字符串的字符,和第三分隔符的要分割字符串的函数。

function _till(str, till, delimiter){ 
    return str.substr(0, str.indexOf(till)+1); 
} 

_till("A:B:C:D:E:F", "C", ":") 

将输出:

A:B:C 
+0

或者split(':',3)',其中第二个参数限制为需要分割。 – abhishekkannojia

+0

@abhishekkannojia很酷,不知道这个。谢谢。 – void

1

使用substr().indexOf()

var x = "A:B:C:D:E"; 
 
var newX = x.substr(0, x.indexOf('C')+1); 
 

 
document.querySelector('pre').innerHTML = newX;
<pre></pre>

+1

尼斯答案,它的工作。 –

+0

@Jai你的代码只适用于上面提到的字符串。上面提到的字符串是通用的。 如果我的字符串更改为“ABC:DEF:MENS:HKJH:HJKJ” –

+0

@deepakkumar那么预期的结果是什么呢? – Jai

0

,你可以不喜欢它

var x = "A:B:C:D:E"; 
var c= x.split(":").splice(0,3).join(""); 
console.log(c); 

希望这将有助于

+0

感谢您的帮助。请检查我在帖子中编辑的内容。为了获得所需的输出,我们需要在Join函数中添加“:”。期望的输出是“A:B:C” –

相关问题