ホームページ > Java > &#&チュートリアル > Javaで引用符で囲まれた部分文字列を保持しながら文字列をスペースで分割するにはどうすればよいですか?

Javaで引用符で囲まれた部分文字列を保持しながら文字列をスペースで分割するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-18 08:22:02
オリジナル
410 人が閲覧しました

How to Split Strings on Spaces While Preserving Quoted Substrings in Java?

Java で文字列をスペースで分割し、引用符で囲まれた部分文字列を保持する

Java の文字列分割は多用途のツールですが、次のような課題に直面することがあります。引用符で囲まれた部分文字列。引用符で囲まれた部分文字列を 1 つの単語として扱いながら、スペースに基づいて文字列を効率的に分割するには、次の方法を検討してください。

正規表現を使用するソリューションでは、トークンを引用符で囲まれていないシーケンスまたは非引用文字列として識別する特定のパターンを利用します。空白文字、または任意の数の文字を含む引用符で囲まれたシーケンス。結果は、引用符で囲まれた部分文字列を正確に保持するトークン化された要素のリストです。

Pattern pattern = Pattern.compile("([^\"]\S*|\".+?\")\s*");
Matcher matcher = pattern.matcher(str);
List<String> tokens = new ArrayList<>();

while (matcher.find()) {
    String token = matcher.group(1);
    tokens.add(token.replace("\"", "")); // Remove surrounding quotes if needed
}
ログイン後にコピー

この例では、文字列「Location "Welcome to india" Bangalore Channai "IT city" Mysore」は次のようにトークン化されます。

Location
Welcome to india
Bangalore
Channai
IT city
Mysore
ログイン後にコピー

このメソッドは、引用符で囲まれた部分文字列の保存をエレガントに処理し、「インドへようこそ」や「IT」などの意味のあるフレーズが確実に保存されるようにします。 city」は単一のトークンとして維持されます。

以上がJavaで引用符で囲まれた部分文字列を保持しながら文字列をスペースで分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート