拆分文本以获得特定价值

时间:2015-10-24 16:24:11

标签: vb.net

如何拆分此xml节点以仅获取数字值?

<span>All Potatoes: 4</span>

这样的事情:

Dim code as string = "<span>All Potatoes: 4</span>"
Dim splitrsult as string
Splitresult = splitresult("<span>All Potatoes:" & "</span>")
Msgbox(splitresult)

我是这种语言的新手,帮助会很感激。谢谢!

3 个答案:

答案 0 :(得分:3)

将XML作为XML处理! (不是简单的字符串)

使用此导入语句

Imports System.Xml.Linq

然后解析你的字符串以获取Xml元素并获取其值

Dim code As String = "<span>All Potatoes: 4</span>"
Dim node = XElement.Parse(code)
Dim result As String = node.Value ' ==> "All Potatoes: 4"

答案 1 :(得分:2)

正如另一个回答所提到的,使用XML解析器获取标记之间的值。完成后,如果您的文字格式为 description : <value>,则最有效的方法是拆分字符串

Dim description As String = node.Value
Dim value As Integer = Integer.Parse(description.Split(": ")(1).Trim())

但是,如果您不保证在:之后会有某些内容,则可以使用Integer.TryParse。如果不能保证只有一个:,则可以获取数组的最后一个元素

Dim a() Ad String = description.Split(":")
Dim val As Integer 
If Not Integer.TryParse(a(a.Length - 1), val) Then
    MessageBox.Show("Value is not found")
Else
    MessageBox.Show("Value is " & val.ToString())
End If

Regex价格昂贵,只有在文本中查找模式时才需要。如果您有结构化文字,则不必使用regex

答案 2 :(得分:2)

使用正则表达式获取数值:(这很简单。永远不要害怕正则表达式)

Dim code as string = "<span>All Potatoes: 4</span>"
resultString = Regex.Match(code, @"\d+").Value