単一のRubyコマンドを使用して、文字列を空白(_,
_および_'
_)で分割したい。
_Word.split
_は空白で分割されます。
Word.split(",")
は_,
_で分割されます。
Word.split("\'")
は_'
_で分割されます。
3つすべてを一度に行う方法
Word = "Now is the,time for'all good people"
Word.split(/[\s,']/)
=> ["Now", "is", "the", "time", "for", "all", "good", "people"]
正規表現。
"a,b'c d".split /\s|'|,/
# => ["a", "b", "c", "d"]
ここに別のものがあります:
Word = "Now is the,time for'all good people"
Word.scan(/\w+/)
# => ["Now", "is", "the", "time", "for", "all", "good", "people"]
split
メソッドと Regexp.union
次のようなメソッド:
delimiters = [',', ' ', "'"]
Word.split(Regexp.union(delimiters))
# => ["Now", "is", "the", "time", "for", "all", "good", "people"]
区切り文字で正規表現パターンを使用することもできます。
delimiters = [',', /\s/, "'"]
Word.split(Regexp.union(delimiters))
# => ["Now", "is", "the", "time", "for", "all", "good", "people"]
このソリューションには、完全に動的な区切り文字または任意の長さを許可するという利点があります。
x = "one,two, three four"
new_array = x.gsub(/,|'/, " ").split