2

我在替换(gsub)字符串中的特定字符时遇到问题。这是我的字符串:

string = "\n\t Tel.:\xA007031 / 11 11 11"

\xA0 不是我想要的字符,所以我尝试用 \x20 替换它(两者都是空白字符)。为此,我调用 gsub :

string.gsub(' ', ' ')

尝试这样做时,它会返回“不兼容的编码正则表达式匹配(UTF-8 正则表达式与 ISO-8859-1 字符串)”错误。

任何关于如何解决这个问题的想法将不胜感激!

4

1 回答 1

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"
于 2013-09-02T11:05:43.390 回答