当前位置: 代码迷 >> VB Dotnet >> 大神们好,请教如何用VB.NET正则处理字符串
  详细解决方案

大神们好,请教如何用VB.NET正则处理字符串

热度:110   发布时间:2016-04-25 02:11:04.0
大神们好,请问怎么用VB.NET正则处理字符串?

dim txt =webbrowser.document.innertext
获取到的txt为
 A情况 {"status":"201","message":"快递公司参数异常:单号不存在或者已经过期"}
 B情况 {"status":"202","message":"参数非法"}
还有C,D,E等情况 总之返回的字符串红有 双引号,花括号等
我想把这个txt中的汉字部分取出来
A情况时 msgbox “快递公司参数异常单号不存在或者已经过期”
B情况时 msgbox “参数非法”
也就是怎么把字符串处理后之保留汉字?
 

------解决思路----------------------
Dim txt As String = "A情况 {""status"":""201"",""message"":""快递公司参数异常:单号不存在或者已经过期""}"
Dim reg As New System.Text.RegularExpressions.Regex("""message"":""([^""]*)""")
Debug.Print(reg.Match(txt).Groups(1).Value)

快递公司参数异常:单号不存在或者已经过期

------解决思路----------------------
如果只是想提取message,直接用Substring可能会快一点点

Const fMessageStart = """message"":"""
Const fMessageEnd = """"
Dim?txt?As?String?=?"A情况?{""status"":""201"",""message"":""快递公司参数异常:单号不存在或者已经过期""}"
Dim iStart As Integer = txt.IndexOf(fMessageStart) + fMessageStart.Length
Dim iEnd As Integer = txt.IndexOf(fMessageEnd, iStart)
Dim message As String

message = txt.Substring(iStart, iEnd - iStart)
Console.WriteLine(message)

如果想提取所有详细,因为你的字符串是json格式的,建议先转成json对象,然后直接访问里面的成员
  相关解决方案