ホームページ  >  記事  >  Java  >  Javaで文字と数字を含む文字列を交互のセグメントに分割するにはどうすればよいですか?

Javaで文字と数字を含む文字列を交互のセグメントに分割するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 11:03:49726ブラウズ

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

文字列内の文字と数字の分離

Java では、文字と数字の両方を含む文字列を分割する必要がある場合があります。交互のセグメント。たとえば、文字列「123abc345def」が与えられた場合、次の結果を目指すことができます:

x[0] = "123"
x[1] = "abc"
x[2] = "345"
x[3] = "def"

この正確な分離を実現するには、次の正規表現を使用できます:

str.split("(?<=\D)(?=\d)|(?<=\d)(?=\D)");

このパターンは、2 つの条件に基づいて特定の位置で文字列を分割します:

  • (?
  • (?

これらの位置で文字列を分割することにより、文字と数字の交互のセグメントを分離できます。

正規表現:

  • \D: 任意の非数字文字と一致します。
  • \d: 任意の数字文字と一致します。
  • (?<=) : 正の後読み、現在位置の直前のパターンと一致します。
  • (?=): 正の先読み、現在位置の直後のパターンと一致します。

使用例:

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

上記のコードを実行すると、x 配列には必要に応じて交互のセグメントが含まれます:

x[0] = "123"
x[1] = "abc"
x[2] = "345"
x[3] = "def"

この手法を使用すると、文字と数字を効率的に分離できます。文字列を使用すると、その型に応じて処理できるようになります。

以上がJavaで文字と数字を含む文字列を交互のセグメントに分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。