J'ai besoin de Substring Code> la chaîne (entrée utilisateur) jusqu'à la première lettre. Je ne peux pas utiliser regex dans
indexof code>. J'ai essayé comme ça: p>
chaîne stringvalue = entrée.Substring (0, entrée.indexof ([^ \\ d.])); code> p>
5 Réponses :
Ceci pourrait fonctionner pour vous:
jshell> s s ==> " 123abc" jshell> s.replaceAll("[a-zA-Z]{1}.*", "") $6 ==> " 123"
Je ne peux pas utiliser cette chose, car l'utilisateur peut saisir "123ABC123".
Que voulez-vous dans ce cas "123ABC123"? Si vous souhaitez utiliser les deux numéros, vous pouvez utiliser la méthode 'Split'.
Ne nécessite que les premiers 123
Si vous savez que votre chaîne commence par des chiffres, vous pouvez simplement le scinder:
String input = "1234x"; System.out.println(input.split("[^\\d.]")[0]); //1234
Une solution tout à fait simple, mais cela pourrait fonctionner: Vous recherchez d'abord la première lettre de la chaîne, alors vous prenez simplement la sous-chaîne jusqu'à son index. P> < / p>
Si vous voulez ce qui est avant la première occurrence d'une lettre, vous pouvez utiliser un groupe de capture pour correspondre à n'importe quel caractère, à l'exception d'une lettre à l'aide de Démo Regex | Java Demo P> sortie p> \ p {l} correspondant à une lettre en utilisant
\ p {l} code>.
1234
^ code> début de chaîne li>
( code> capture groupe 1 fort>
\ p {l} + code> Match 1+ fois l'opposé de
\ p {l} code> li>
ul> li>
) code> li>
\ p {l} code> correspond à n'importe quelle lettre de n'importe quelle langue li>
ul>
Pattern pattern = Pattern.compile("^(\\P{L}+)\\p{L}");
Matcher matcher = pattern.matcher("1234x");
if (matcher.find()) {
System.out.println(matcher.group(1));
}
Recherchez la première lettre dans une chaîne code> code> en utilisant une expression régulière; rien de trop fantaisie, pas astuces em>: Je préfère cela puisque cela fait exactement ce que je veux (je ne veux pas Split code> ou
remplacer code> n'importe quoi, juste
trouver code>) p> p>
Quelque chose comme ça?
^ \ w * code> motif - Démarrage de la chaîne
^ code> suivi de zéro ou plus non-lettres i>?
Pouvez-vous ajouter quelques exemples.
@DMITRYYBYCHENKO Il renvoie
stringindexoutofboundSException code>