2012-04-06 80 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