Ich versuche eine Möglichkeit zu finden, eine Zeichenfolge zu normalisieren, um sie als Dateiname zu übergeben.Standardisieren Sie eine Zeichenfolge für Dateiname, entfernen Sie Akzente und spezielle Zeichen
Ich habe dies so weit:
my_string.mb_chars.normalize(:kd).gsub(/[^\x00-\x7F]/n, '').downcase.gsub(/[^a-z]/, '_')
Aber erstes Problem: das - Zeichen. Ich denke, es gibt mehr Probleme mit dieser Methode.
Ich kontrolliere nicht den Namen, der Name String kann Akzente, Leerzeichen und Sonderzeichen haben. Ich möchte alle entfernen, ersetzen Sie die Akzente mit dem entsprechenden Buchstaben ('é' => 'e') und ersetzen Sie den Rest durch das Zeichen '_'.
Die Namen sind wie:
- "Prélèvements - Routine"
- "Carnet de santé"
- ...
ich sie wie ein Dateiname sein wollen ohne Leerzeichen/Sonderzeichen:
- "prelevements_routine"
- "carnet_de_sante"
- ...
Danke für die Hilfe :)
große ... dank – harsh4u
funktioniert nicht mit Namen wie "xxx l'amour":
ActiveSupport::Inflector
Dann Sie so etwas wie tun könnte. Fix: ist das Hinzufügen von gsub (/ '/,' ') – Alain