Ruby 由两个不同分隔符分割的字符串

Ruby 由两个不同分隔符分割的字符串,ruby,string,split,Ruby,String,Split,我有这样的字符串“some dasd\dasd das\dasdas dasd das\dsad”。 我需要用两个不同的符号将字符串拆分为数组'\'和'-',因此我希望得到数组['some',dasd',dasd',dasdas',dasdas',dasd',das',dsad'] 最好的方法是什么 "ome-dasd\dasd-dasdas\dasdas-dasd-das\dsad".split(/\\|-/) 应该这样做。您可以使用regexp拆分字符串: mystring.split(

我有这样的字符串“
some dasd\dasd das\dasdas dasd das\dsad
”。 我需要用两个不同的符号将字符串拆分为数组
'\'
'-'
,因此我希望得到数组
['some',dasd',dasd',dasdas',dasdas',dasd',das',dsad']

最好的方法是什么

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

应该这样做。

您可以使用regexp拆分字符串:

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

@lucapette你不得不原谅我对regexp的相对无知-这个答案和你的答案对我来说都是一样的?为什么一个比另一个好?@Russel他们在匹配方面完全相同,但这一个更简洁,更易于维护。例如,假设要添加
%
。这个将成为
[-\\%]
,我的将成为
\\\\\-\\%
。也许这也是一个品味的问题:)是的,我认为你是对的,它更易于阅读/维护,尤其是当添加更多字符时。然而,我的书呆子认为,公正地指出,你的答案在两个字符的示例中使用较少的字符,而在三个字符的示例中使用相同的数字!但这不适用于分隔符相邻的情况,因为分隔符会为您提供一些空白元素。