我有一些string
值,其中enter
键作为其间的分隔符并存储在数据库中。现在我必须使用split
函数拆分这些字符串值并将其保存在数组中。
//代码
Dim valuesArray as String()= Field.ListOfValues.Split(?)
我该怎么做?
答案 0 :(得分:3)
您引用的“Enter”键可能是回车符或换行符或两者。以下使用ReadLine所以这应该做你想要的,并应考虑行尾字符的差异
StreamReader.ReadLine方法
从当前流中读取一行字符并将数据作为字符串返回。
一行被定义为一个字符序列,后跟一个换行符(“\ n”),一个回车符(“\ r”),或一个回车符后面紧跟换行符号(“\ r \ n“个)。返回的字符串不包含终止回车符或换行符。
Dim valuesList As New List(Of String)
Using sr As New StreamReader(New System.IO.MemoryStream(System.Text.Encoding.ASCII.GetBytes(Field.ListOfValues)))
Do Until sr.EndOfStream
valuesList.Add(sr.ReadLine)
Loop
End Using
'If you really want an array convert it to one here:
Dim valuesArray As String() = valuesList.ToArray
答案 1 :(得分:1)
因为在Windows中,行以双字符序列<CR><LF>
终止,所以需要String.Split overload分割字符串而不是字符:
Dim valuesArray = Field.ListOfValues.Split({vbCrLf}, StringSplitOptions.None)
答案 2 :(得分:0)
试试这个:
输入key = CChar(vbCrLf)
//代码
Dim valuesArray as String()= Field.ListOfValues.Split(CChar(vbCrLf))