ruby - Ruby 中的特殊字符串拆分

标签 ruby split

我正在尝试找出最好的方法...

给定一个字符串

s = "if someBool || x==1 && y!=22314" 

我想用 Ruby 来分隔语句和 bool 运算符..所以我想把它分成

["if","someBool","||","x","==","1","&&","y","!=","22314"]

我可以使用 s.split(),但这只会以空格作为分隔符进行拆分..但我也希望 x!=y 也被拆分(它们是有效的 bool 语句,它们之间没有空格可读性好)。当然,最简单的方法是要求用户在 bool 运算符和变量之间放置空格,但是还有其他方法可以做到这一点吗?

最佳答案

按空格或单词边界拆分:

s = "if someBool || x==1 && y!=22314"
a = s.split( /\s+|\b/ );
p a

输出:

["if", "someBool", "||", "x", "==", "1", "&&", "y", "!=", "22314"]

关于ruby - Ruby 中的特殊字符串拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379212/

相关文章:

rubyzip Zip::ZipFile.open_buffer 需要一个 String 类或 IO 类的参数

ruby-on-rails - 如何测试依赖于其托管应用程序的 Rails 引擎?

MySQL日期结果按日期分割

java - 如何使用 split() 删除路径中的最后一个目的地?

python - 在Python中为split()创建动态 "variable layout"

java - 字符串分割及数据返回问题

java - 当前缀分隔符和后缀分隔符不同时,分割字符串的最佳方法是什么?

ruby - 安装 Pod 时出错 - 0x00000001045b8000 处的总线错误

javascript - 运行 rake asset 预编译后,在非函数中未定义

ruby - 无法在 Jekyll 项目中找到预定义的 sass 变量