Lorsque je divise la chaîne "1|2|3|4"
en utilisant le , j'obtiens 8 éléments dans le tableau au lieu de 4. Si j'utilise "\\|"
le résultat est correct. Je suppose que cela a quelque chose à faire avec les expressions régulières. Quelqu'un peut-il expliquer cela?Division d'une chaîne en Java
Répondre
Vous avez raison. |
est un caractère spécial pour l'alternance. L'expression régulière |
signifie "une chaîne vide ou une chaîne vide". Donc, il va se diviser autour de toutes les chaînes vides, résultant de 1 élément pour chaque caractère de la chaîne. L'échapper \|
en faire un caractère normal.
Merci pour la réponse .. est & est aussi un personnage spécial? –
@why: Non ce n'est pas le cas. Voir http://download-llnw.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html. Vous pouvez utiliser '\ Q ... \ E' pour vous assurer que le' ... 'ne sera pas interprété comme des caractères spéciaux. – kennytm
@ pourquoi devrais-je vous dire mon nom: http://www.regular-expressions.info/reference.html – ColinD
|
est OR
dans la syntaxe Java expression régulière, le fractionnement essentiellement 1|2|3|4
avec |
est égal à dire String#split()
à « diviser cette chaîne entre vide ou vide) ce qui signifie qu'il se sépare après chaque personnage que vous avez dans la chaîne d'origine.
- 1. mauvaise division en Java
- 2. Division en chaîne en JavaScript
- 3. Java - division problème String
- 4. Division d'une chaîne en plusieurs parties
- 5. Opérations de division de chaîne en C#
- 6. Division d'une chaîne par l'espace en C
- 7. Division de la chaîne en tableau
- 8. RSS parsing, chaîne de division
- 9. Division d'une chaîne, basée sur le prédicat
- 10. Division de la chaîne en utilisant boost :: algorithm :: split
- 11. aide Regex avec chaîne de division
- 12. terme par division division en python (division termino en termino en python)
- 13. Division d'une chaîne sur une chaîne et non d'un caractère
- 14. Expression régulière pour chaîne de division
- 15. C# - problème avec la chaîne de division
- 16. Division d'une liste en python
- 17. Division de chaînes
- 18. Java, BigDecimal. Problèmes avec la division
- 19. Chaîne convertion en java
- 20. division entière en php
- 21. Valider une chaîne en Java
- 22. Chaîne en bitmap java/android
- 23. Création de chaîne en Java
- 24. chaîne Décompresser GZip en Java
- 25. split chaîne complexe en Java
- 26. Format de chaîne en Java?
- 27. Conversion Unicode en chaîne Java
- 28. Division d'un NSString
- 29. Division de PDF en png
- 30. Division des données en pages
Juste le fait remarquer - le temps que cette confusion a pris vous coûte probablement plus que vous économiserez en utilisant des expressions régulières (en plus de coder la fichue chose) pendant toute votre carrière à moins de faire beaucoup de scripts shell. –
Je n'ai jamais eu l'intention d'utiliser des expressions régulières ... l'API damn utilise automatiquement .. que dois-je faire alors? –
Malheureusement, la méthode 'String.split()' utilise toujours des regex. Cependant, il existe des API plus flexibles. – ColinD