我有以下字符串:
我需要将每个值分开并将其放入数组中.通常它会由".split"完成.但我需要按此顺序拆分:0,50,100,200,400等.
有谁知道如何做到这一点?请注意我需要在VB中执行此操作
换句话说,我需要它来读取从左到右的行.我没有问题分离每个数字,我只需要它以指定的顺序阅读它.
谢谢大家的建议.香港专业教育学院尝试了正则表达式,我忘了提到每行后有一个换行符.我不确定这是否会影响正则表达式,但无论如何,在我执行正则表达式后,我得到以下顺序:0,6.65,84 ...... ??,35 ....等等
我没有收到我上面所述的订单
预期结果:0,50,100,100,200,400,218,9.8,???,6.65,6.31等......
我将通过最初将字符串拆分为单独的行来遵循下面的一些建议.这段代码几乎可以做到:
Dim fields() As String
fields = calculationText.Split(vbCrLf)
Run Code Online (Sandbox Code Playgroud)
不幸的是由于某种原因,空间丢失了.当我查看数组时,数字之间的所有空格都会丢失.为什么?????????
听起来像你需要拆分两次.逐行将文件读入数组,或者更好地读取List(Of String),然后遍历List中的每个"行"并根据空间进行后续拆分.
在浏览每一行时,可以将第一个元素添加到结果数组列表中.
编辑:因为你有一些麻烦,试试这个代码,看看它是否适合你:
Dim lstResulst As New List(Of String)
Dim lstContent As New List(Of String)
Dim LineItems() As String
Dim objStreamReader as StreamReader
objStreamReader = File.OpenText(FILENAME)
While objStreamReader.Peek() <> -1
lstContent.Add(objStreamReader.ReadLine())
End While
objStreamReader.Close()
Run Code Online (Sandbox Code Playgroud)
这会将每行的所有文件行读入List(Of String).然后从那里你可以这样做:
For Each CurrLine As String In lstContent
LineItems = CurrLine.Split(Char.Parse(" "))
lstResults.Add(LineItems(0))
Next
Run Code Online (Sandbox Code Playgroud)
这会将每个项目拆分成一个数组,您可以将拆分的第一项转储到一个新的List(Of String)中.您可以轻松地将其转储到Decimals列表或其他任何内容中,并简单地将CurrLine.Split包装在适当的转换方法周围.该行的其余项目也将在LineItems数组中可用.
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |