Ruby 字符串比较未按预期工作
代码如下:Ruby 字符串比较未按预期工作,ruby,rubygems,Ruby,Rubygems,代码如下: response = line.split( '|' ) MyUtil.output "Inside loop@" + response[0] + "@" FidelioUtil.output response[0].eql? 'LS' # .chomp.strip 以下是输出: Sat Mar 03 08:55:36 +0000 2012: Inside loop@LS@ Sat Mar 03 08:55:36 +0000 2012: false 这似乎不像我预期的那样起作用。
response = line.split( '|' )
MyUtil.output "Inside loop@" + response[0] + "@"
FidelioUtil.output response[0].eql? 'LS' # .chomp.strip
以下是输出:
Sat Mar 03 08:55:36 +0000 2012: Inside loop@LS@
Sat Mar 03 08:55:36 +0000 2012: false
这似乎不像我预期的那样起作用。少了什么
我也尝试过咀嚼和脱衣,但这似乎没有帮助
而且“to_str”也不起作用
我可以在此变量上运行任何诊断代码,以便了解它为什么无法正确比较?问题在于字符串中存在隐藏字符。使用响应[0]。编码和响应[0]。检查帮助。代码到底在做什么?您在输出中看到的是响应[0]的字符串表示形式。可能有不可见的字符或不同的编码,尤其是从外部文件读取时。您检查了吗?如何检查这些字符?请尝试
response[0]。如果您使用的是Ruby 1.9,请进行编码。可能是响应[0]。检查可能会有所帮助。