def replace_characters(name)
name.downcase.tr('àáäâãèéëẽêìíïîĩòóöôõùúüûũñç ', 'aaaaaeeeeeiiiiiooooouuuuunc-')
end
通常の文字は特殊文字に置き換えますが、大文字と小文字は維持したいと思います。文字を置換しても大文字小文字を維持する
例とその期待される出力:
- íhávéspécialchárs.jpg// ihavespecialchars.jpg
- ÍHÁVÉSPÉCIALCHÁRS.JPG// IHAVESPECIALCHARS.JPG
- /IMG_4834.JPG // /IMG_4834.JPG
現在のところ、これは問題ありませんが、常に文字列を小文字に変更しています。例:/IMG_4834.JPG - > /img_4834.jpg
興味深い関連情報:http://stackoverflow.com/questions/4418196/ruby-unicode-question – user12341234
。上記のページで詳しくはhttp://stackoverflow.com/a/4418681/128421をご覧ください。この方法でファイルの名前を変更すると、滑りやすい斜面になり、Unicode範囲で文字を取得することができれば、狭い置換セットは残りの文字をカバーしません。ルールに従って名前のないファイルを受け入れることを拒否するか、そのまま受け入れて名前を変更しません。 –