Verwenden Sie reguläre Ausdrücke, um nach "%" zu suchen. [Closed]

-3

Ich programmiere in Java und möchte mit Regex nach Daten mit einem Prozentzeichen suchen, z. 10%, 20%, 30% usw. ich habe es versucht a.matches("%") das gibt aber nur true zurück, wenn die Zeichenfolge genau mit dem Prozentzeichen übereinstimmt. Was sollte der richtige reguläre Ausdruck sein? Vielen Dank

pew007
quelle
das gab mir einen fehler aber a.matches ("% *") funktioniert! Vielen Dank!
pew007
Diese Anleitung scheint besser zu sein als mein Vorschlag. In Java ist der Platzhalter eigentlich . anscheinend (ich weiß wenig über Java).
nerdwaller

Antworten:

4

Wenn Sie nur nach einem '%' suchen, dann String.indexOf('%') wäre wahrscheinlich schneller und einfacher als jede auf regulären Ausdrücken basierende Lösung.

In Anbetracht regulärer Ausdrücke wird matches() Die Funktion versucht, den gesamten String dem Muster zuzuordnen, wie Sie festgestellt haben. Matcher.find() sucht innerhalb des Strings nach Teilzeichenfolgen, die dem Muster entsprechen, zum Beispiel:

Pattern pp = Pattern.compile("%");
Matcher mm = pp.matcher(someString);
if (mm.find()) {
    // someString contains a '%'
    ...
}
Kenster
quelle