我需要分割一个字符串而不移除分隔符。是否有一个简单的和“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