在将字符串拆分为数组时忽略第二个分隔符

时间:2013-11-08 14:16:57

标签: javascript

我有一个字符串如下 -

 roger::)

我需要将roger:)分成两个字符串。我使用以下

"roger::)".split(":")

但这形成了三个数组元素,即roger[empty]),虽然我需要的是两个数组元素roger:)。< / p>

enter link description here

我尝试使用以下链接,但控制台会为undefined

打印"roger::)".split(/_(.+)?/)[1]

请帮助。

2 个答案:

答案 0 :(得分:1)

使用前瞻。如果后跟:,它将在:上拆分。

"roger::)".split(/:(?=:)/);

然而,也许这就是你想要的。在:上拆分,除非它后跟),这将是一张幸福的脸。

"roger::):another:test".split(/:(?!\))/);

答案 1 :(得分:0)

您的测试用例看起来有限,也许您只需使用匹配

'roger::)'.match(/[^:]+|:\)/g); // ['roger', ':)']

也许这适合或不适合:

'roger::):another:test'.match(/[^:]+|:\)/g); // ["roger", ":)", "another", "test"]