我正在使用Ruby读取一个文件,我能够过滤掉以固定大小格式存储的字符串。但是我希望过滤变量大小的字符串,最后使用一些正则表达式或其他东西留给我。
现在我正在使用以下行扫描字符串
s.scan(/(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.*)/).each do |f,g,h,i,j,k,l,m,n,p|
但仍希望通过从中分隔空终止字符串来过滤此(。*)部分字符串。 我怎么能这样做?
答案 0 :(得分:2)
我真的不明白为什么你的正则表达式是这样的,但\0
是正则表达式中使用的空字节(如果你喜欢十六进制代码,则为\x00
)。基本上是:
"foo\x00bar".split(?\x00)
=> ["foo", "bar"]
"foo\x00bar" =~ /\0/
=> 3