我想知道如何获得该字符串的每一行,直到下一个@
。
@cnb Santander @cnn VENTA @br @cnn PRUEBAS INTEGRACIONES DLL
所以我可以将它放在不同的行上,例如:
@cnb Santander @cnn VENTA
我曾尝试使用Split
这样的功能:
Dim sLines() As String, L As Long
sLines = Split(Text1.Text, vbCrLf)
但似乎vbCrLf
无效
也尝试过:
sLines = Split(Text1.Text, " ")
答案 0 :(得分:1)
如果将文本手动输入到多行TextBox中,则每次按Return键都会添加一个CrLf组合,您的代码应该可以正常工作。
由于代码无法正常工作,因此我假设文本是从其他地方加载的,并且可能的问题是文本是Unix格式的,这意味着它仅包含Lf字符,而不包含CrLf。 (我也曾经亲自遇到过Cr。)
如果是这种情况,则只需要先转换换行即可。像这样分割时,我通常将所有内容转换为单个Lf字符...
Dim sLines() As String
Dim sTemp As String
sTemp = Replace$(Text1.Text, vbCrLf, vbLf) ' Convert CrLf combinations to Lf only
sTemp = Replace$(sTemp, vbCr, vbLf) ' Convert any remaining Cr's to Lf's
sLines = Split(sTemp, vbLf) ' Spilt on Lf instead of CrLf