ruby - 从 Ruby 中的字符串中删除非 UTF 字符?

标签 ruby regex string

如何从 ruby​​ 字符串中删除非 UTF8 字符?我有一个字符串,其中包含例如“xC2”。我想从字符串中删除该字符,使其成为有效的 UTF8。

这个:

text.gsub!(/\xC2/, '')

返回错误:

incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string)

我也在查看 text.unpack('U*') 和 string.pack,但没有得到任何结果。

最佳答案

您可以为此使用编码。 text.encode('UTF-8', :invalid => :replace, :undef => :replace)

有关更多信息,请查看 Ruby-Docs

关于ruby - 从 Ruby 中的字符串中删除非 UTF 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12147449/

相关文章:

Ruby:Twitter API:获取所有关注者

java - Pattern.quote 未按预期工作

java - 使用字符串的 if 语句

javascript - 返回作为字符串参数传递的值时使用 eval() 的正确方法

javascript - Rails 4 在 js View 中渲染 Gritter 消息

ruby - 将方法添加到 `end`

ruby - 字符串中的十六进制字符

mysql - MATCH AGAINS 和 REGEXP 的组合

javascript - Grep 获取图像 URL

python - 如何将字符串从 df.to_string() 转换回 DataFrame