我如何使用VB6获取此字符串的每一行

时间:2019-01-25 22:20:31

标签: string vb6

我想知道如何获得该字符串的每一行,直到下一个@

 @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, " ")

1 个答案:

答案 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