2012-03-03 198 views
0

下面是代碼:字符串比較工作不正常

response = line.split('|') 
MyUtil.output "Inside [email protected]" + response[0] + "@" 
FidelioUtil.output response[0].eql? 'LS' # .chomp.strip 

這裏是輸出:

Sat Mar 03 08:55:36 +0000 2012: Inside [email protected]@ 
Sat Mar 03 08:55:36 +0000 2012: false 

這似乎並沒有被工作我預期的方式。什麼不見​​了?

我也嘗試過chomp和strip,但這似乎沒有幫助。

也「to_str」也不工作。

任何診斷代碼我都可以運行在這個變量上,這樣我就能明白爲什麼它不能正確比較它?

+0

準確的代碼是什麼? – jmort253 2012-03-03 10:39:07

+1

您在輸出中看到的是響應[0]的字符串表示形式。可能有不可見的字符或不同的編碼,特別是從外部文件讀取時。你檢查了嗎? – iltempo 2012-03-03 10:54:08

+0

如何檢查這些字符? – 2012-03-03 11:10:25

回答

0

問題在於字符串中存在隱藏字符。使用響應[0] .encoding和響應[0] .inspect幫助。

+0

您應該將此標記爲已回答。 – 2012-03-07 07:41:18