【发布时间】:2011-12-28 08:42:03
【问题描述】:
我有这个大的 XML 文件。有一个字段我想用空格分割一个字段。
所以我执行以下操作将分割后的数据保存到 a & b 中:
components = a.split(' ')
a = components[0]
b = components[1]
但是有些拆分正确,有些拆分不正确(当它们都包含空格时)。例如,当我尝试拆分 'Maria Canada' 时,它不会按空格拆分。
我不知道为什么。如果我在 Vim 中打开文件并复制那些特定的错误文本,我可以在 Ruby 交互式 shell 中正确拆分它们:
'Maria (Canada)'.split(' ')
=> ["Maria","(Canada)"]
更新
好的,原因是 NBSP。我通过引发错误打印出那些不会在控制台中拆分的行。我复制了文本并粘贴在 irb 中。这些复制的文本也不能在 irb 中分割,我也不能去掉那个空格。
>> ' '.strip
=> " "
然后我运行ord,发现空格是一个NBSP字符(它的代码是160):
>> ' '.ord
=> 160
所以 xml 文件同时包含空格和 NBSP 字符。 我认为 Vim 会自动将 NBSP 转换为空格,这就是为什么当我尝试从 vim 复制它时不再是 NBSP。
现在我只需要弄清楚如何处理 NBSP。
【问题讨论】:
-
想象一下,您在阅读这个问题之前对自己在做什么没有任何想法。你觉得你能理解题主的意思吗?
-
抱歉,我试图澄清一下
-
也许它实际上是一个制表符?试试 a.split(/\s+/) 看看是否有帮助。
-
是的,试过了,但也没用