在 C# 中拆分字串時保留分隔符號
通常,您需要使用特定分隔符號分割字串,但您也希望將這些分隔符號保留在結果陣列中。 本文示範了一種在 C# 中使用正規表示式的可靠方法。
解:正規表示式
C# 的 Regex.Split
方法與巧妙設計的正規表示式結合,提供了解決方案。關鍵是使用積極的後向斷言。 正向回顧可確保目前位置之前存在模式 ,而 則不會在配對本身中包含該模式。
正規表示式模式:
此模式尋找分隔符號(本例為逗號、句點和分號),同時確保它們保留在輸出中:
<code class="language-csharp">(?<=(?:[,.;]))</code>
(?<=...)
:這是一個正面的回顧斷言。 (?:[,.;])
:這是一個與逗號、句點或分號相符的非捕獲組。 程式碼範例:
我們用程式碼來說明:
<code class="language-csharp">using System.Text.RegularExpressions; // ... other code ... string originalString = "This,is,a,comma,separated,string."; string[] parts = Regex.Split(originalString, @"(?<=(?:[,.;]))"); // parts array will contain: // ["This",",","is",",","a",",","comma",",","separated",",","string","."] </code>
正規表示式在 緊接在 每個分隔符號之後的點分割字串。 由於分隔符號本身不包含在匹配中,因此它會保留在結果數組中。
輸出:
輸出表示原始字串已拆分,並且每個分隔符號都作為單獨的元素包含在結果數組中。 正向lookbehind確保分隔符號是分割的一部分,而不會被吸收到字串段。
以上是如何在 C# 中拆分字串同時保留分隔符號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!