我想要分割的字符串:D017209D019169D019014到D017209,D019169和D019014之间用逗号分隔。
如果我有
a = D017209D019169D019014
b = a.slice("D")
puts b
我的结果如下:
017209
019169
019014
我错过了什么?
答案 0 :(得分:5)
"D017209D019169D019014".scan(/D[^D]*/)
扫描返回所有匹配的数组,这正是您想要的。正则表达式仅表示D,后跟零或更多非D。
答案 1 :(得分:0)
字符串拆分函数将始终删除终止符。你想要以'D'开头的子串。正则表达式最好在这里
a.scan(/D[0-9]*/).each do |line|
#do stuff with each piece of data
end
顺便说一下,正如我在评论中所说,我绝对不是一个正则表达式专家,甚至不是真的。所以,如果有人发现这个有一个大的整体让我知道,但它应该适用于你的输入。