Ruby on rails 标准化文件名字符串,删除重音符号和特殊字符
我试图找到一种方法来规范化字符串,将其作为文件名传递 到目前为止,我有:Ruby on rails 标准化文件名字符串,删除重音符号和特殊字符,ruby-on-rails,ruby,regex,string,ruby-on-rails-3,Ruby On Rails,Ruby,Regex,String,Ruby On Rails 3,我试图找到一种方法来规范化字符串,将其作为文件名传递 到目前为止,我有: my_string.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, '').downcase.gsub(/[^a-z]/, '_') 但是第一个问题:性格。我想这种方法有更多的问题 我不控制名称,名称字符串可以有重音、空格和特殊字符。我想删除所有的重音符号,用相应的字母('e'=>'e')替换重音符号,其余的替换为'.'字符 名称如下: “运动-常规” “圣卡” 我希望它
my_string.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, '').downcase.gsub(/[^a-z]/, '_')
但是第一个问题:性格。我想这种方法有更多的问题
我不控制名称,名称字符串可以有重音、空格和特殊字符。我想删除所有的重音符号,用相应的字母('e'=>'e')替换重音符号,其余的替换为'.'字符
名称如下:
- “运动-常规”
- “圣卡”
- “准备工作/例行程序”
- “圣卡”
感谢您的帮助:)请查看
ActiveSupport::Indoctor.transliterate
,它对于处理此类字符问题非常有用。请阅读:
然后,你可以做如下事情:
ActiveSupport::Inflector.transliterate my_string.downcase.gsub(/\s/,"_")
不适用于“xxx l'amour”这样的名称。修正:是添加gsub(/“/,”),这也不适用于包含其他标点符号(如逗号)的字符串,可能是