我正在尝试找出执行此操作的最佳方法...
给定一个字符串
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"]