简单的字符串拆分?

时间:2010-07-09 23:58:50

标签: ruby rubygems

我想要分割的字符串:D017209D019169D019014到D017209,D019169和D019014之间用逗号分隔。

如果我有

a = D017209D019169D019014
b = a.slice("D")
puts b

我的结果如下:

017209
019169
019014

我错过了什么?

2 个答案:

答案 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
顺便说一下,正如我在评论中所说,我绝对不是一个正则表达式专家,甚至不是真的。所以,如果有人发现这个有一个大的整体让我知道,但它应该适用于你的输入。