在VB.NET中有没有简单的文本拆分方法?

在VB.NET中有没有简单的文本拆分方法?,vb.net,string,split,slice,Vb.net,String,Split,Slice,在VB.NET中有没有简单的文本拆分方法?(使用开始和结束字符串抓住中间的内容?) 我一直在JScript中使用以下方法执行此操作: 一些数据1 一些数据2 一些数据3 var data=string.split(“”)[1]。split(“”)[0]; 将[1]索引更改为[2]将为我提供“someData1”,这将非常容易为我提供“someData2” 由于某些原因,这似乎很难在VB.NET中实现 下面是我正在处理的实际HTML的一部分: <...malformed html>

在VB.NET中有没有简单的文本拆分方法?(使用开始和结束字符串抓住中间的内容?)

我一直在JScript中使用以下方法执行此操作:


一些数据1
一些数据2
一些数据3
var data=string.split(“”)[1]。split(“”)[0];
将[1]索引更改为[2]将为我提供“someData1”,这将非常容易为我提供“someData2”

由于某些原因,这似乎很难在VB.NET中实现

下面是我正在处理的实际HTML的一部分:

<...malformed html>
<div style='font-size:10pt;font-family:Times;color:#000000;position:absolute;top:2731.068;left:48'>Total</div>
<div style='font-size:10pt;font-family:Times;color:#000000;position:absolute;top:2731.068;left:346.2141'>18,072.59</div>
<div style='font-size:10pt;font-family:Times;color:#000000;position:absolute;top:2731.068;left:444.3433'>100.00%</div>
<div style='font-size:10pt;font-family:Times;color:#000000;position:absolute;top:2731.068;left:567.1293'>21,687.11</div>
<div style='font-size:10pt;font-family:Times;color:#000000;position:absolute;top:2731.068;left:666.3433'>100.00%</div>
<malformed html...>

全部的
18,072.59
100.00%
21,687.11
100.00%
我需要找到总索引,然后抓取第一和第三个div之间的数据

Dim e = XElement.Parse(str)
Dim a = e.XPathSelectElements("./blah").Elements().ToArray()

a(0).Value 'someData1
a(1).Value 'someData2
编辑:
要解析html,请尝试使用

我让它工作了,尽管这是我编写过的最糟糕的代码之一

Dim sr As StreamReader

sr = New StreamReader("C:\test.html")

Dim xactHTML As String = sr.ReadToEnd

Dim left As Integer = xactHTML.IndexOf("Total</div>")
Dim chunk1 As String = xactHTML.Substring(left + 12)

Dim right As Integer = chunk1.IndexOf("<div style='position")
Dim chunk2 As String = chunk1.Substring(0, right - 1)

Dim xHTML As String = "<xml>" & chunk2 & "</xml>"

Dim e = XElement.Parse(xHTML)
Dim a = e.Elements().ToArray()

Dim damageAmmount As String = a(2).Value()
Dim sr作为StreamReader
sr=新的StreamReader(“C:\test.html”)
Dim xactHTML As String=sr.ReadToEnd
左调整数=xactHTML.IndexOf(“总计”)
Dim chunk1作为String=xactHTML.Substring(左+12)

向右调整为整数=chunk1.IndexOf("你说的是字符串吗?看起来你在分解XML。如果是这样的话,为什么不使用XML库来处理手动字符串解析无法处理的数百种边缘情况。实际上,这是一个包含大量HTML的字符串。如果是XML数据,那将非常有效。我尝试了上面的方法,我的输出HTML就来了来自一个名为XactMate的软件,它不能生成XHTLM友好的代码,因此我收到了很多错误,如“System.Xml.XmlException:'0'是意外的标记。对于“chunk”,预期的标记是''或''您指定只需在div’s周围添加一个节点,就可以使用上面的代码。我现在切换到那种方法,试图提取好的html的“块”,这样我就可以使用XPath了。。。
Dim e = XElement.Parse(str)
Dim a = e.XPathSelectElements("./blah").Elements().ToArray()

a(0).Value 'someData1
a(1).Value 'someData2
Dim sr As StreamReader

sr = New StreamReader("C:\test.html")

Dim xactHTML As String = sr.ReadToEnd

Dim left As Integer = xactHTML.IndexOf("Total</div>")
Dim chunk1 As String = xactHTML.Substring(left + 12)

Dim right As Integer = chunk1.IndexOf("<div style='position")
Dim chunk2 As String = chunk1.Substring(0, right - 1)

Dim xHTML As String = "<xml>" & chunk2 & "</xml>"

Dim e = XElement.Parse(xHTML)
Dim a = e.Elements().ToArray()

Dim damageAmmount As String = a(2).Value()