我有一个字符串:“* 45%235?35”。我想要的是从这一个提取数字字符串。所以我将 str1 =“45”, str2 =“235”和 str3 =“35”。
那么VB.Net中应该使用什么字符串函数来提取从某个字符开始并以某个特定字符结尾的字符串?谢谢
答案 0 :(得分:1)
高效的方法,纯字符串方法:
Dim str = "*45%235?35"
Dim str1, str2, str3 As String
Dim sIndex, eIndex As Int32
sIndex = str.IndexOf("*")
If sIndex >= 0 Then
sIndex += 1
eIndex = str.IndexOf("%", sIndex)
If eIndex >= 0 Then
str1 = str.Substring(sIndex, eIndex - sIndex)
sIndex = eIndex + 1
eIndex = str.IndexOf("?", sIndex)
If eIndex >= 0 Then
str2 = str.Substring(sIndex, eIndex - sIndex)
str3 = str.Substring(eIndex + 1) ' Take rest
End If
End If
End If
如果订单始终相同,则可以使用。
答案 1 :(得分:1)
使用RegEX尝试这样的事情,你可以修改RegEx模式" \ D +"消除星号或只是忽略matchResults中的第一项
Dim regexObj = New Regex("\D+", RegexOptions.IgnoreCase)
Dim matchResults As String() = regexObj.Split("*45%235?35")
For Each s As String In matchResults
Console.WriteLine("{0}", s)
Next