1

私はPythonで次のことを行いました:

s = 'This is a text'
re.split('(\W)', s)
# => ['This', ' ', 'is', ' ', 'a', 'text']

それはうまくいきました。Rubyで同じ分割を行うにはどうすればよいですか?

私はこれを試しましたが、それは私の空白を食べます.:

s = "This is a text"
s.split(/[\W]/)
# => ["This", "is", "a", "text"]
4

2 に答える 2

6

String#split ドキュメントから:

パターンにグループが含まれる場合、それぞれの一致も配列で返されます。

これは Python と同じように Ruby で機能します。角括弧は文字クラスを指定するためのものであり、グループに一致するものではありません。

"foo bar baz".split(/(\W)/)
# => ["foo", " ", "bar", " ", "baz"]
于 2013-06-28T11:18:12.273 に答える