2012-04-06 36 views
0

我正在使用Ruby阅读一个文件,并且能够过滤出以固定大小格式存储的字符串。但我想过滤最后留下的可变长度的字符串,使用一些正则表达式或其他的东西。什么是空终止ASCII字符串的正则表达式?

现在,我从它分离空终止字符串扫描字符串以下行

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

但还是要筛选此(。*)字符串的一部分。 我该怎么做?

回答

2

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

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

"foo\x00bar" =~ /\0/ 
=> 3 
+0

非常感谢@ d11wtq – 2012-04-06 18:23:16

相关问题