3
當我在字符串上使用split
和正則表達式時,我得到以下輸出。與正則表達式組分割字符串
string = "12345678"
string.split(/(..)/)
=> ["", "12", "", "34", "", "56", "", "78"]
爲什麼我從split
方法中得到空字符串?我意識到使用scan
方法會給我沒有空字符串,但我想知道爲什麼split
給我空字符串。
當我在字符串上使用split
和正則表達式時,我得到以下輸出。與正則表達式組分割字符串
string = "12345678"
string.split(/(..)/)
=> ["", "12", "", "34", "", "56", "", "78"]
爲什麼我從split
方法中得到空字符串?我意識到使用scan
方法會給我沒有空字符串,但我想知道爲什麼split
給我空字符串。
至於最初的空字符串,這是因爲split
的原始目的是將字符串分隔成帶分隔符的字段。它始終假設在分隔符之前有一個字段,即使它是空的。至於其他空串,這是因爲分隔符是相鄰的。
'string.scan(/../)' –
@WiktorStribiżew它不是重複的。閱讀問題。 – sawa
@WiktorStribiżew - 鏈接的問題解決了如何獲得我想要的結果。我想知道*爲什麼*它給了我空串。 – NateW