我在替换(gsub)字符串中的特定字符时遇到问题。这是我的字符串:
string = "\n\t Tel.:\xA007031 / 11 11 11"
\ xA0不是我想要的字符,所以我尝试将其替换为\ x20(两者都是空格字符)。为此,我打电话给gsub:
string.gsub(' ', ' ')
尝试这样做时,它会返回“不兼容的编码正则表达式匹配(UTF-8 regexp与ISO-8859-1字符串)”错误。
任何关于如何解决问题的想法都将非常感激!
答案 0 :(得分:5)
你可以这样做 -
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"