6
我正在为String类编写一个扩展方法来清理非ASCII字符。我正在清理的字符串是UTF-8。如何使用UTF-8字符串的引号来编写gsub?
在文件中使用非ASCII字符时,控制台将无法启动,因为它将卷曲引号解释为普通引号。
如何逃避gsub中的引号?
如何编写一个使用unicode进行卷曲引号(例如U + 201C)的gsub。
使用Rails 3.07和Ruby 1.9.2。
我正在为String类编写一个扩展方法来清理非ASCII字符。我正在清理的字符串是UTF-8。如何使用UTF-8字符串的引号来编写gsub?
在文件中使用非ASCII字符时,控制台将无法启动,因为它将卷曲引号解释为普通引号。
如何逃避gsub中的引号?
如何编写一个使用unicode进行卷曲引号(例如U + 201C)的gsub。
使用Rails 3.07和Ruby 1.9.2。
您可以使用相同的\u
逃脱在你在双引号字符串中使用正则表达式:
s.gsub(/[\u201c\u201d]/, '"')
例如:
>> s = "\u201Cpancakes\u201d"
=> "“pancakes”"
>> puts s.gsub(/[\u201c\u201d]/, '"')
"pancakes"
我发现了以下工作:'s.gsub( 8220.chr,'''') – 2012-02-16 01:29:58
@BSeven:1.9.2和1.9.3给我一个“超出字符范围”的错误,应该和s.gsub(“\ u201c”,' “')'。 – 2012-02-16 03:26:10
@BSeven:我需要使用'8220.chr(Encoding :: UTF_8)'来让'chr'表现得合理。 – 2012-02-16 03:35:25