在.Net中以行为单位拆分字符串

此处使用Windows模式换行符(vbCrLf)。

错误用法:

Dim SplittedLines() As String = MergedString.Split(vbCrLf)

此用法会导致拆分得到的字符串序列不正确。

正确用法:

Dim SplittedLines() As String = MergedString.Split(New Char(){vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)

需要注意的是,此方法会在所有vbCrvbLf字符处拆分字符串,如果字符串中含有不需要被断开的孤立vbCrvbLf字符,或者需要保留字符串中的空行,会导致拆分结果不正确。此时的一种处理方式是将字符串中的连续分隔符替换为单一不常见字符:

Dim SplittedLines() As String = MergedString.Replace(vbCrLf, vbBack).Split(vbBack)

参考资料:https://learn.microsoft.com/zh-cn/dotnet/api/system.string.split?view=netframework-4.5

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License