Je veux diviser une chaîne avec "?" comme délimiteur.JAVA REGEX - Diviser une chaîne avec "?" comme délimiteur
str.split("?")[0]
échoue.
Je veux diviser une chaîne avec "?" comme délimiteur.JAVA REGEX - Diviser une chaîne avec "?" comme délimiteur
str.split("?")[0]
échoue.
L'argument de la méthode "split" doit être une expression régulière, et le '?' caractère a une signification spéciale dans les expressions régulières, donc vous devez y échapper. Cela est fait en ajoutant une barre oblique inverse avant dans l'expression rationnelle. Cependant, étant donné que l'expression rationnelle est fournie par l'intermédiaire d'une chaîne Java, il nécessite deux barres obliques à la place de manière à obtenir un caractère de barre oblique inverse réelle dans le regexp:
str.split("\\?")[0];
str.split("\\?")[0]
(Explication: l'argument 'String.split' est – bobince
... parce que '?' est un caractère spécial dans les expressions régulières, il doit être échappé avec \ et \ doit être échappé avec une expression régulière et non un texte simple. \ en Java. – splash
@Downvoter: Vous voulez expliquer pourquoi? – LukeH
+1 pour expliquer * pourquoi * vous devez échapper '?', Plutôt que de simplement donner du code. – FrustratedWithFormsDesigner