我有一个字符串如下 -
roger::)
我需要将roger
和:)
分成两个字符串。我使用以下
"roger::)".split(":")
但这形成了三个数组元素,即roger
,[empty]
和)
,虽然我需要的是两个数组元素roger
和:)
。< / p>
我尝试使用以下链接,但控制台会为undefined
"roger::)".split(/_(.+)?/)[1]
请帮助。
答案 0 :(得分:1)
使用前瞻。如果后跟:
,它将在:
上拆分。
"roger::)".split(/:(?=:)/);
然而,也许这就是你想要的。在:
上拆分,除非它后跟)
,这将是一张幸福的脸。
"roger::):another:test".split(/:(?!\))/);
答案 1 :(得分:0)
您的测试用例看起来有限,也许您只需使用匹配:
'roger::)'.match(/[^:]+|:\)/g); // ['roger', ':)']
也许这适合或不适合:
'roger::):another:test'.match(/[^:]+|:\)/g); // ["roger", ":)", "another", "test"]