如何拆分此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)
我是这种语言的新手,帮助会很感激。谢谢!
答案 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