无法正确分割字符串

时间:2019-03-22 22:23:55

标签: .net vb.net split

代码逻辑

我正在尝试读取存储在字符串列表中的 file_path file_hash 。它们都以“ | + |”分隔。 我想将它们读入临时数组“ tempArray()”,其中file_path将采用索引0,file_hash将采用索引1。

问题

无法执行String.Split()进行分隔。搜索后尝试2种解决方案。

经过测试但不起作用

  • Object
  • Dim tempArray() As String = filepathhash.Split(" |+| ")

完整代码

Dim tempArray() As String = filepathhash.Split(New [Char]() {CChar(" "), CChar("|"), CChar("+"), CChar("|"), CChar(" ")})

预期

我希望结果是:

  • MsgBox1将显示For Each filepathhash In se_queryfile_hashes MsgBox(filepathhash.ToString) 'Dim tempArray() As String = filepathhash.Split(New [Char]() {CChar(" "), CChar("|"), CChar("+"), CChar("|"), CChar(" ")}) ' |+| Dim tempArray() As String = filepathhash.Split(" |+| ") ' not working too.. MsgBox(tempArray(0)) : MsgBox(tempArray(1)) 'testing using msgbox For Each malwarehash In temp_hash_values If tempArray(1) = malwarehash Then matched_files.Add(tempArray(0)) matched_hashes.Add(tempArray(1)) End If check_bgWorkerCancelled() Next tempcounter += 1 Next
  • Msgbox2将显示C:/some/folder/file.exe

我得到的东西

使用String.Split()的两种方式都得到意外结果。他们都用大块空格和其他所有东西分割了块,但不是从定界符集中。

Code Image

感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

由于使用vb.net,因此可以使用VB拆分功能代替.NET

Dim tempArray() As String = split(filepathhash," |+| ")