将字符串拆分为行

pri*_*ain 4 vba split line

我想将一个字符串分成几行。很长一段时间我都在使用

Split(myString, vbCrLf)
Run Code Online (Sandbox Code Playgroud)

但现在我遇到了一些问题,因为新行使用了不同的字符。我想匹配所有这些字符(\n 和 \r\n,...)。我该怎么办?

Sam*_*Sam 5

将它们全部替换为另一个角色。在此示例中,我将使用Chr(19)一个不常见的 ASCII 字符。

myString = Replace(myString, vbCr, Chr(19))
myString = Replace(myString, vbLf, Chr(19))
myString = Replace(myString, vbCrLf, Chr(19))

'// Remove any doubled up Chr(19)
While InStr(myString, Chr(19) & Chr(19))
    myString = Replace(myString, Chr(19) & Chr(19), Chr(19))
Wend

'// Remove any trailing Chr(19) if present
y = Split(Left$(myString, Len(myString) - IIf(Right$(myString, 1) = Chr(19), 1, 0)), Chr(19))

For Each s In y
    Debug.Print s & ": " & Len(s)
Next
Run Code Online (Sandbox Code Playgroud)