我在替换 (gsub) 字符串中的特定字符时遇到问题。这是我的字符串:
string = "\n\t Tel.:\xA007031 / 11 11 11"
\xA0 不是我想要的字符,所以我尝试用\x20 替换它(两者都是空白字符)。为此,我对其调用 gsub:
string.gsub(' ', ' ')
当尝试执行此操作时,它会返回“不兼容的编码正则表达式匹配(带有 ISO-8859-1 字符串的 UTF-8 正则表达式)”错误。
任何关于如何解决这个问题的想法将不胜感激!
最佳答案
你可以做到这一点 -
string.force_encoding("ISO-8859-1").gsub(/:./,":")
#=> "\n\t Tel.:07031 / 11 11 11"
如果您想将其编码为 UTF-8,请执行此操作 -
string.force_encoding("ISO-8859-1").encode!("UTF-8")
#=> "\n\t Tel.:Â 07031 / 11 11 11"
关于ruby - 用 gsub 替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18571385/