在Ruby中,如何在正则表达式中使用unicode字符?

在Ruby中,如何在正则表达式中使用unicode字符?,ruby,regex,unicode,Ruby,Regex,Unicode,我正在尝试编写一行代码,它将接受一行日语文本并删除特定的字符集。但是,我在正则表达式中使用unicode字符时遇到了问题 我当前使用的是text.gsub(/,*,),但我得到了错误 'gsub': invalid byte sequence in Windows-31J (Argument error) 谁能告诉我我做错了什么 示例文本:その仕草《しぐさ》があまりに無造作《むぞうさ》だったので 预期结果:その仕草があまりに無造作だったので 谢谢 编辑:#编码:utf-8出现在脚本顶部。尝试以

我正在尝试编写一行代码,它将接受一行日语文本并删除特定的字符集。但是,我在正则表达式中使用unicode字符时遇到了问题

我当前使用的是
text.gsub(/,*,)
,但我得到了错误

'gsub': invalid byte sequence in Windows-31J (Argument error)
谁能告诉我我做错了什么

示例文本:その仕草《しぐさ》があまりに無造作《むぞうさ》だったので

预期结果:その仕草があまりに無造作だったので

谢谢

编辑:
#编码:utf-8
出现在脚本顶部。

尝试以下操作:

text.encode('utf-8', 'utf-8').gsub(/《.*?》/u, '')

是的。对不起,我忘了提一下。我在
irb
中试用了你的例子,得到了预期的结果。似乎问题不在于正则表达式,而在于
text
的编码。
text
来自哪里?从文件读取?你可以看看这个:我确实是从一个文件中获取文本,李文件本身是否被保存为UTF-8编码?顺便说一句,这段代码在我这方面工作得很好,所以我认为您的本地设置有问题。请解释原因,因为您在那里的内容对我来说没有意义。为什么还没有这样做?这是一般的Ruby错误,字符串从未被正确解码?您不应该这样做o执行此操作。@tchrist从外部文件读取文本时,不一定为真-其编码可能不是UTF-8。