Java で引用符で囲まれた部分文字列を除外し、スペースを含む文字列をトークン化する
スペースに基づいて文字列を区切るのは簡単ですが、文字列の特定の部分が文字列は引用符で囲まれており、単一のトークンとして扱う必要がありますか? Java では、正規表現を使用して、この微妙な分割を実現できます。
このシナリオに対処するには、次のアプローチを使用できます。
String str = "Location \"Welcome to india\" Bangalore Channai \"IT city\" Mysore"; List<String> list = new ArrayList<>(); Matcher m = Pattern.compile("([^\"]\S*|\".+?\")\s*").matcher(str); while (m.find()) list.add(m.group(1));
ここで使用される正規表現は、文字列を効果的に分割します。トークンは空白に基づいていますが、引用符で囲まれた部分文字列も識別します。これらの引用符で囲まれた部分文字列を単一のトークンとしてキャプチャすることで、「インドへようこそ」のようなフレーズがそのまま残ることを保証できます。
正規表現は次のように理解できます:
これにより、引用句で囲まれた複雑な文字列を効果的に処理できるようになります。結果のリストには、示されている例で必要なように、個々の単語または引用符で囲まれたフレーズを表すトークンが含まれます。
以上がJavaで引用符で囲まれた部分文字列を除き、スペースを含む文字列をトークン化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。