在保留分隔符號的情況下拆分字串
處理包含多個分隔符號的字串時,必須將字串拆分為其組成部分,而保留分隔符號資訊。 String.split() 方法提供了一個簡單的分割字串的機制,但它只提取子字串而不保留分隔符號。
要達到分割字串並保留分隔符號的預期結果,可以使用正規具有前瞻和後瞻斷言的表達式。 Lookahead (?=) 和 Lookbehind (?
考慮以下範例:
<code class="java">String input = "(Text1)(DelimiterA)(Text2)(DelimiterC)(Text3)(DelimiterB)(Text4)"; String[] parts = input.split("((?=;)|(?<=;))");</code>
在此code:
與 split() 方法一起使用時,此正規表示式將識別每個分隔符號 (;) 並為其建立一個空匹配。因此,產生的陣列部分將包含以下元素:
[Text1, ;, Text2, ;, Text3, ;, Text4]
這種方法允許我們保留字串的原始結構,同時將其劃分為各個組件。這是一種以保持完整性的方式解析複雜字串的強大技術。
以上是如何使用正規表示式拆分字串並保留分隔符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!