使用保留的分隔符號分割字串
處理由一組唯一分隔符號分隔的多行字串時,分割字串可能會很困難同時還保留分隔符號本身。標準 String.split 方法僅根據指定的分隔符號分隔字串,並丟棄分隔符號。
使用 Lookahead 和 Lookbehind
Java 開發工具包(JDK)提供了使用lookahead和lookbehind的解決方案,它們是正則表達式的功能,允許您匹配和捕獲字符而不將它們包含在最終結果中result.
以下是使用前向和後向的範例:
String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)";
String[] splitWithDelimiter = input.split("((?模式:
- (?
- (?=;) 匹配分號之前的空字元(lookahead).
- ((?
輸出:
[Text1, ;, DelimiterA, ;, Text2, ;, DelimiterC, ;, Text3, ;, DelimiterB, ;, Text4]
此結果將分隔符號與文字一起保留,滿足分割字串時保持分隔符號完整的要求。
提高可讀性
正規表示式有時難以閱讀和理解。為了增強可讀性,您可以建立一個具有表示正規表示式模式的描述性名稱的變數。例如:
static final String WITH_DELIMITER = "((?透過使用佔位符和Java的String.format,可以讓正規表示式更加直觀,更容易解釋。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3