0

我正在使用 Ruby 读取一个文件,并且能够过滤掉以固定大小格式存储的字符串。但我想使用一些正则表达式或其他东西过滤我最后留下的可变大小字符串。

现在我正在使用以下行扫描字符串

s.scan(/(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.*)/).each do |f,g,h,i,j,k,l,m,n,p| 

但仍希望通过从中分离空终止的字符串来过滤字符串的这个 (. *) 部分。我怎样才能做到这一点?

4

1 回答 1

2

我真的不明白为什么你的正则表达式是这样的,但它是正则表达式中\0使用的空字节(或者\x00如果你更喜欢十六进制代码)。基本上:

"foo\x00bar".split(?\x00)
=> ["foo", "bar"]

"foo\x00bar" =~ /\0/
=> 3
于 2012-04-06T11:45:23.257 回答