Je souhaite également stocker des chaînes dans un format de type limace plus interrogeable dans la base de données, en les forçant en minuscules, en remplaçant les lettres accentuées par leurs équivalents latins (ä -> a, ö -> o, ç -> c etc.) et en remplaçant les autres caractères spéciaux par des tirets. Existe-t-il une norme pour ce type de format? Ce qui serait préférable signifie l'atteindre en Java?Création de chaînes pouvant être interrogées
Répondre
C'est le solution que j'ai trouvé mieux à ce jour de travail:
return Normalizer
.normalize(src.trim().toLowerCase(Locale.ENGLISH),
Normalizer.Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "")
.replaceAll("[^\\p{ASCII}]+", "-")
.replaceAll("[^a-z0-9]+", "-").replaceAll("(^-|-$)+", "");
Cela convertit: ¿Qué? à que, Cool !!!! 1 à cool-1 et åæø à a.
La base de données peut le faire pour vous par le biais des classements. Les classements spécifient quels caractères dans un jeu de caractères spécifique peuvent être considérés comme équivalents les uns par rapport aux autres lorsqu'ils sont comparés.
Jetez un oeil à ce par exemple visuel d'une collation:
http://www.collation-charts.org/mysql60/mysql604.utf8_general_ci.european.html
Voici une bonne description de la façon dont les classements fonctionnent à partir du manuel MySQL:
Je cherche un solution ignorante de fournisseur de base de données que mon backend ne supportera probablement pas cela. – hleinone
Vous pouvez essayer cette bibliothèque: [link] (http://site.icu-project.org/#TOC-Why-ICU4J-). Il vous permet de travailler avec des classements de jeux de caractères en Java, mais vous ne savez pas si cela correspond à votre cas d'utilisation particulier. – Eric
Java [ 'Normalizer'] (http://download.oracle.com/javase/6/docs/api/java/text/Normalizer.html) semble regrouper la même façon que ces liens MySQL vous avez fourni, encore » Laisser certains caractères comme ð, ø et æ tels quels. Je voudrais finir avec juste a-z et tirets. – hleinone
- 1. Que utiliser pour stocker les données sérialisées pouvant être interrogées?
- 2. Création de chaînes pouvant être utilisées en tant que Filepath - Eclipse/Android
- 3. Création d'une application Android pouvant être mise à jour
- 4. Création d'un TreeGrid avec des colonnes pouvant être triées
- 5. Création d'un objet JSON pouvant être désérialisé en C#
- 6. différentes résolutions pouvant être retirées
- 7. Nombre de données interrogées IQueryable
- 8. Restriction des noeuds pouvant être référencés
- 9. Comptage des correspondances de chaînes et détermination des correspondances de phrases pouvant être trouvées
- 10. Barres de notification jquery pouvant être ignorées?
- 11. Déclaration de données vides pouvant être stockées
- 12. Vérification de deux images pouvant être dessinées
- 13. Android taille de bouton pouvant être tirée
- 14. Conseils sur les chaînes de caractères pouvant être ASCII ou UTF-16
- 15. Unicode Caractères pouvant être utilisés pour tromper un trieur de chaînes?
- 16. Style de bouton pouvant présenter plusieurs chaînes de texte?
- 17. WPF: Création de lignes de quadrillage pouvant être interceptées avec un espacement variable
- 18. Méthode d'enregistrement du temps de création de ligne pouvant être généré par SQLMetal
- 19. Blocs de texte pouvant être liés en C-
- 20. Problème lors de la création d'un TileList avec des canevas pouvant être glissés
- 21. Création d'une entité de base générique pouvant être étendue pour chaque client
- 22. Création d'une véritable image de téléphone Android pouvant être chargée par Android SDK
- 23. python: Création de propriétés en lecture seule pouvant être écrites par auto-affectation
- 24. Création d'un fichier texte pouvant être lu à l'aide de c fscanf
- 25. Plusieurs listes pouvant être triées avec jquery
- 26. Affichage d'une propriété pouvant être liée
- 27. Obtenir des ressources pouvant être dessinées
- 28. Compiler des bibliothèques pouvant être reliées dynamiquement
- 29. FragmentTabHost avec l'icône pouvant être dessinée
- 30. Ajout d'une ressource pouvant être appelée
Je voudrais regarder ce poste: http://stackoverflow.com/questions/249087/how-do-i-remove-diacritics-accents-from-a-string-in-net – MikeKusold