在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中文網其他相關文章!