在Ruby中,如何拆分字符串而不在分割數組中保留分隔符?我雖然是默認的,但是當我嘗試如何在不保留分隔符的情況下分割字符串?
2.4.0 :016 > str = "a b c"
=> "a b c"
2.4.0 :017 > str.split(/([[:space:]]|,)+/)
=> ["a", " ", "b", " ", "c"]
我看到了我的結果中包含的空格。我想結果僅僅是
["a", "b", "c"]
在Ruby中,如何拆分字符串而不在分割數組中保留分隔符?我雖然是默認的,但是當我嘗試如何在不保留分隔符的情況下分割字符串?
2.4.0 :016 > str = "a b c"
=> "a b c"
2.4.0 :017 > str.split(/([[:space:]]|,)+/)
=> ["a", " ", "b", " ", "c"]
我看到了我的結果中包含的空格。我想結果僅僅是
["a", "b", "c"]
從String#split
文檔:
如果模式包含組,各自的比賽將在數組中返回以及。
回答您的明確說明的問題:不匹配的組:
# ⇓⇓ HERE
str.split(/(?:[[:space:]]|,)+/)
,或者即使沒有組:
str.split(/[[:space:],]+/)
,或者在更Rubyish方式:
'a b, c,d e'.split(/[\p{Space},]+/)
#⇒ ["a", "b", "c", "d", "e"]
試試這個請
str.split(' ')
String#split
分割在de-space的白色空間故障,所以不要打擾正則表達式:
"a b c".split # => ["a", "b", "c"]
儘管你已經從根本上改變了我的輸出。在這裏,你只是在一個破碎的空間分裂。我想分割很多空間(打破和不打破或逗號)。 – Dave
是的,現在我明白了。我猜想我很愚蠢 – oren