2012-02-21 136 views
7

我有这样的字符串'some-dasd\dasd-dasdas\dasdas-dasd-das\dsad'。 我需要将字符串拆分为两个不同的符号'\''-',所以我想获得数组['some', 'dasd', 'dasd', 'dasdas', 'dasdas', 'dasd', 'das' ,'dsad']由两个不同的分隔符分割的字符串

这样做的最佳方法是什么?

回答

14
"ome-dasd\dasd-dasdas\dasdas-dasd-das\dsad".split(/\\|-/) 

应该这样做。

+0

@Russell谢谢。但它不是最好的;) – lucapette 2012-02-21 10:23:37

+1

但这不适用于分隔符相邻的情况\ - 给你一些空白元素。 – 2013-10-21 23:54:42

11

可以使用正则表达式分割字符串:

mystring.split(/[-\\]/) 
+0

比我的好一点... – lucapette 2012-02-21 10:24:08

+0

@lucapette你将不得不原谅我对正则表达式的相对无知 - 这个答案和你的答案看起来和我相似吗?为什么一个会比另一个好? – Russell 2012-02-21 10:27:25

+3

@Russel他们在*匹配方面绝对等价,但这个更简洁,更易于维护。例如,假设你想添加'%'。这个将会变成'[ - \\%]',我会变成'\\ | - |%'。也许这也是品味的问题:) – lucapette 2012-02-21 10:33:15