2012-02-21 21 views
7

私はこのような文字列 'some-dasd\dasd-dasdas\dasdas-dasd-das\dsad'を持っています。 2つの異なるシンボル'\''-'によって配列に文字列を分割する必要があるので、配列['some', 'dasd', 'dasd', 'dasdas', 'dasdas', 'dasd', 'das' ,'dsad']を取得したいと思います。2つの異なるデリミタで区切られた文字列

どのような方法が最適ですか?

答えて

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

このトリックを行う必要があります。あなたは正規表現を使用して文字列を分割することができ

+0

@Russellはあなたに感謝します。しかし、それは最高のものではありません;) – lucapette

+1

しかし、区切り記号が隣り合っている場合にはこれは機能しません。\ - 空白の要素がいくつかあります。 –

11

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

私より少し良い... – lucapette

+0

@lucapetteあなたは正規表現の私の相対的な無知を言い訳しなければならないでしょう - この回答とあなたの両方は私と同じようですか?なぜ他のものよりも優れているのでしょうか? – Russell

+3

@Russel *これは* matching *の点では全く同じですが、これはより簡潔であり、より保守的です。たとえば、 '%'を追加したいとします。これは '[ - \\%]'になり、私のものは '\\ | - |%'になります。おそらくそれは味の問題でもあります:) – lucapette

関連する問題