jgi*_*nta 2 ruby ruby-on-rails
我需要删除重音符号或"ñ"Ruby 中的拉丁字符。我尝试使用,force_encoding('UTF-8')但是没有用。
我在其他有关Ruby编码的其他答案中使用的这段代码在大多数时候被证明是有效的。确保您的脚本本身使用UTF8编码保存:
t="doña"
p t.force_encoding(Encoding.locale_charmap).encode('UTF-8')
#=>"do\u251C\u2592a"
Run Code Online (Sandbox Code Playgroud)
如果要替换,则要代替编码,而是要使用库,但也可以使用简单的正则表达式
t="déjà"
puts t.gsub(/[éèàùµñçêï]/, '?') => d?j?
Run Code Online (Sandbox Code Playgroud)
编辑:我在注释中注意到您想用普通字符替换特殊版本的字符,您可以按照以下步骤进行操作
p string_with_special_chars.tr(
"ÀÁÂÃÄÅàáâãäå??????Çç????????Ðð????ÈÉÊËèéêë??????????????????????ÌÍÎÏìíîï?????????????????????????Ññ?????????ÒÓÔÕÖØòóôõöø??????????????????Šš???????ÙÚÛÜùúûü??????????????Ýýÿ??Ÿ????Žž",
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |