微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – RoR字符类正则表达式

我在 Ruby on Rails应用程序中有以下代码行,它检查给定字符串是否包含韩语字符:
isKorean = !/\p{Hangul}/.match(word).nil?

它在控制台中运行良好,但会为实际应用程序引发语法错误

invalid character property name {Hangul}: /\p{Hangul}/

我错过了什么,我怎样才能让它发挥作用?

解决方法

这是一个字符编码问题,您需要添加
# encoding: utf-8

在你正在使用该正则表达式的Ruby文件的顶部.如果你愿意,你可以使用你正在使用的字符类而不是UTF-8的任何编码.请注意,在Ruby 2.0中,UTF-8现在是认值,因此Ruby 2.0中不需要这样做.

这被称为“魔术评论”.您可以而且应该阅读有关encoding in Ruby 1.9的更多信息.请注意,Rails视图中的编码由config.encoding自动处理(认情况下在config / application.rb中设置为UTF-8).

它可能在控制台中工作,因为您的终端已设置为使用UTF-8.

原文地址:https://www.jb51.cc/ruby/270831.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐