Heim > Java > javaLernprogramm > Hauptteil

Wie teile ich eine Zeichenfolge mit Buchstaben und Zahlen in alternierende Segmente in Java auf?

Susan Sarandon
Freigeben: 2024-10-28 11:03:49
Original
736 Leute haben es durchsucht

How to Split a String with Letters and Numbers into Alternating Segments in Java?

Buchstaben und Zahlen in einer Zeichenfolge trennen

In Java kann es vorkommen, dass Sie eine Zeichenfolge, die sowohl Buchstaben als auch Ziffern enthält, aufteilen müssen abwechselnde Segmente. Wenn Sie beispielsweise die Zeichenfolge „123abc345def“ angeben, könnten Sie das folgende Ergebnis anstreben:

x[0] = "123"
x[1] = "abc"
x[2] = "345"
x[3] = "def"
Nach dem Login kopieren
Nach dem Login kopieren

Um diese präzise Trennung zu erreichen, können Sie den folgenden regulären Ausdruck verwenden:

str.split("(?<=\D)(?=\d)|(?<=\d)(?=\D)");
Nach dem Login kopieren

Dieses Muster teilt die Zeichenfolge an bestimmten Stellen basierend auf zwei Bedingungen:

  • (?<=D)(?=\d): Entspricht Positionen unmittelbar nach einem nichtstelligen Zeichen (D) und sofort vor einer Ziffer (d). Diese Bedingung identifiziert den Anfang eines numerischen Segments.
  • (?<=d)(?=\D): Entspricht Positionen unmittelbar nach einer Ziffer und unmittelbar vor einem nichtstelligen Zeichen. Diese Bedingung identifiziert den Anfang eines Buchstabensegments.

Durch Aufteilen der Zeichenfolge an diesen Positionen können Sie die abwechselnden Segmente aus Buchstaben und Zahlen isolieren.

Erklärung des Regexp:

  • \D: Entspricht jedem Nicht-Zifferzeichen.
  • \d: Entspricht jedem Ziffernzeichen.
  • (?<=) : Positiver Lookbehind, Übereinstimmung mit einem Muster unmittelbar vor der aktuellen Position.
  • (?=): Positiver Lookahead, Übereinstimmung mit einem Muster unmittelbar nach der aktuellen Position.

Beispielverwendung :

String str = "123abc345def";
String[] x = str.split(&quot;(?&lt;=\D)(?=\d)|(?&lt;=\d)(?=\D)&quot;);
Nach dem Login kopieren

Nach der Ausführung des obigen Codes enthält das x-Array die abwechselnden Segmente wie gewünscht:

x[0] = "123"
x[1] = "abc"
x[2] = "345"
x[3] = "def"
Nach dem Login kopieren
Nach dem Login kopieren

Mit dieser Technik können Sie Buchstaben und Ziffern effizient trennen eine Zeichenfolge, die es Ihnen ermöglicht, sie entsprechend ihrem Typ zu verarbeiten.

Das obige ist der detaillierte Inhalt vonWie teile ich eine Zeichenfolge mit Buchstaben und Zahlen in alternierende Segmente in Java auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!