将字符串分解为数组

use*_*817 6 vb.net

我有什么:

所以我正在为学校做这个大型项目,除了一个小而重要的部分,我一切都在工作.我正在处理的程序必须转换货币,并从txt文件中获取费率.该文件如下所示:

USD 1,2694
JPY 100,44
BGN 1,955
CZK 25,396
DKK 7,45792
...
Run Code Online (Sandbox Code Playgroud)

名称和值之间有一个制表符,以及值和下一个货币名称之间的换行符.值具有浮点,并且没有固定长度.

我需要的:

我需要打破这个字符串成两个阵列,currencyNames()currencyValues(),或成二维阵列currency().

我能做些什么:

我可以将它从一个文件加载到一个字符串中

fileReader = My.Computer.FileSystem.ReadAllText("rates.txt")
Run Code Online (Sandbox Code Playgroud)

我能够通过简单的循环将其分解为数组

Do While i < 32
    dummyArray = Split(fileReader, " ")
    i += 1
Loop
Run Code Online (Sandbox Code Playgroud)

但只有当文件中的名称和值之间存在空格时.

Han*_*ele 3

您正在寻找的是VB Constants,一组用于特殊字符(例如制表符和换行符)的特殊字符串 - 链接上有一个列表,但您的特别是vbTabvbCrLf。您不需要导入任何东西——它们内置于 VB 中。

要使用它们,您可以将其更改为:

dummyArray = Split(fileReader, vbCrLf) ' to split on lines
Run Code Online (Sandbox Code Playgroud)

进而:

For Each s as String In dummyArray
  otherArray = Split(s, vbTab) ' to split on tab characters
Run Code Online (Sandbox Code Playgroud)