2012-03-03 147 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