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


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 '%'
    ...
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.