「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java 先読みと後読みを使用して区切り文字を保持したまま文字列を分割する方法

Java 先読みと後読みを使用して区切り文字を保持したまま文字列を分割する方法

2024 年 11 月 8 日に公開
ブラウズ:625

How to Split Strings with Delimiters Preserved Using Java Lookahead and Lookbehind?

区切り文字を保持した文字列の分割

一連の一意の区切り文字で区切られた複数行の文字列を操作する場合、文字列を分割するのが難しい場合があります。区切り文字自体も保持します。標準の String.split メソッドは、指定された区切り文字に基づいて文字列のみを分割し、区切り文字を破棄します。

先読みと後読みの使用

Java Development Kit (JDK)は、先読みと後読みを使用したソリューションを提供します。これらは、最終的な文字列に文字を含めずに文字を照合してキャプチャできる正規表現の機能です。 result.

これは先読みと後読みを使用する例です:

String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";

String[] splitWithDelimiter = input.split("((?

パターン:

  • (?
  • (?=;) はセミコロンの直前の空文字と一致します。 (先読み).
  • ((?

出力:

[Text1, ;, DelimiterA, ;, Text2, ;, DelimiterC, ;, Text3, ;, DelimiterB, ;, Text4]

この結果は、テキストとともに区切り文字を保持し、文字列の分割中に区切り文字をそのまま維持するという要件を満たします。

可読性の向上

正規表現は、読んだり理解したりするのが難しい場合があります。読みやすさを高めるために、正規表現パターンを表すわかりやすい名前を持つ変数を作成できます。例:

static final String WITH_DELIMITER = "((?

プレースホルダーと Java の String.format を使用すると、正規表現をより直感的で解釈しやすくすることができます。

リリースステートメント この記事は次の場所に転載されています: 1729746892 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3