我需要分割一個字符串而不移除分隔符。是否有一個簡單的和「Ruby嚮導」的方式來做到這一點?Ruby:分割一個字符串而不移除分隔符
例如,給定這樣的字符串:
str = "(This is (a test))"
我需要的是這樣的:
["(", "This", "is", "(", "a", "test", ")", ")"]
我使用字符串分割法,用括號"("
和")"
作爲分隔符嘗試,但是然後我將它們從返回的數組中移除。任何建議都會有幫助。
我需要分割一個字符串而不移除分隔符。是否有一個簡單的和「Ruby嚮導」的方式來做到這一點?Ruby:分割一個字符串而不移除分隔符
例如,給定這樣的字符串:
str = "(This is (a test))"
我需要的是這樣的:
["(", "This", "is", "(", "a", "test", ")", ")"]
我使用字符串分割法,用括號"("
和")"
作爲分隔符嘗試,但是然後我將它們從返回的數組中移除。任何建議都會有幫助。
也許是這樣的:
str.scan(/\(|\)|\w+/)
工作得很好。謝謝! – wazabit 2012-04-06 15:27:19
此正則表達式將忽略所有其他字符。那是你要的嗎? – 2012-04-06 15:34:17
良好,但稍微清潔一點是:/ [()] | \ w + / – pguardiario 2012-04-06 17:17:56
發生了什麼事在你原來的字符串空間?它們不存在於字符串數組中。 – 2012-04-06 15:18:39
我希望將它們從陣列中移除。 – wazabit 2012-04-06 15:20:57
這看起來更像是一個令牌解析問題... – DGM 2012-04-06 15:20:59