cadres Web tels que Rails et Django a un support intégré pour les « limaces » qui sont utilisés pour générer des URL lisibles et SEO-friendly:code Java/bibliothèque pour générer des limaces (pour une utilisation dans les URL jolies)
Une chaîne de limaces contient généralement que des caractères a-z
, 0-9
et -
et peut donc être écrit sans-escaping URL (pensez « foo% 20ba r ").
Je suis à la recherche d'une fonction de limace Java qui donne une chaîne Unicode valide retourne une représentation de limace (a-z
, 0-9
et -
).
Une fonction de limace trivial serait quelque chose le long des lignes de:
return input.toLowerCase().replaceAll("[^a-z0-9-]", "");
Cependant, cette mise en œuvre ne traiterait pas l'internationalisation et des accents (ë
>e
). Un moyen de contourner cela serait d'énumérer tous les cas spéciaux, mais cela ne serait pas très élégant. Je cherche quelque chose de plus réfléchi et général.
Ma question:
- Quelle est la façon la plus générale/pratique pour générer des limaces de type Django/Rails en Java?
semble prometteur, mais la normalisation ne semble pas fonctionner: « foobar » se traduit en « FBR » au lieu de prévu « foobar ». Est-ce que tu sais pourquoi? – knorv
Etrange - quand je mets la chaîne '" f \ u00F3 \ u00F2b \ u00e2r "' par la méthode, j'obtiens '' foobar ''. Vous faites peut-être une erreur d'encodage dans votre source ou fichier de données; voir http://illegalargumentexception.blogspot.com/2009/05/java-rough-guide-to-character-encoding.html – McDowell
McDowell: Vous avez absolument raison - c'était une erreur d'encodage. Merci pour une excellente réponse! – knorv