首頁  >  文章  >  Java  >  如何在 Java 中按空格分割字串,同時保留引用的子字串?

如何在 Java 中按空格分割字串,同時保留引用的子字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-18 08:22:02327瀏覽

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

在Java 中以空格分割字串,保留帶引號的子字串

Java 的字串分割是多功能工具,但在遇到挑戰時可能會遇到困難帶引號的子字串。若要根據空格有效地分割字串,同時將帶引號的子字串視為單字,請考慮以下方法:

使用正規表示式,該解決方案利用特定模式將標記識別為非帶引號的序號或非帶引號的序號。空白字元或包含任意數量字元的引用序列。結果是準確保留帶引號的子字串的標記化元素列表。

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

此方法可以優雅地處理帶引號的子字串的保存,確保諸如“Welcome to印度”或“IT 城市”作為單一代幣維護。

以上是如何在 Java 中按空格分割字串,同時保留引用的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn