我想把一个字符串分成多行。长时间以来,我一直在使用
Split(myString, vbCrLf)
但是我遇到了一些问题,因为换行时使用了不同的字符。我想匹配所有这些字符(\n和\r\n等)。我该怎么办?
将它们全部替换为另一个字符。在这个例子中,我将使用一个不常见的ASCII字符Chr(19)
。
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
vbCr
是回车 (\r
),vbLf
是换行 (\n
)。vbCrLf
是回车换行 (\r\n
)。 - SierraOscar\r\n
理解为两个字符了。 - principal-ideal-domainDebug.Print (vbCrLf=Replace(vbCrLf,vbLf,vbCrLf))
返回 false
。 - principal-ideal-domain