请教一个字符串提取的问题
时间:2011-10-27
来源:互联网
有一个变量是一个字符串,变量名为“地址”,具体的信息是省名市民县名乡镇名和村名,如**省(直辖市)**市(区)**乡(镇)**村,如何把这个变量拆分成省变量,市变量,乡变量和村变量呢?难点在于提取的字符长度不确定,关键字信息(乡或镇)也不固定。
希望能给出详细代码,谢谢!
希望能给出详细代码,谢谢!
作者: ASTERIOD 发布时间: 2011-10-27
省、市、乡、村是固定的,直辖市、镇也是固定的,找到这些关键字,拆分应该没有什么问题。
作者: chinaboyzyq 发布时间: 2011-10-28
给出范例。输入数据是什么,期望输出数据是什么
作者: sysdzw 发布时间: 2011-10-28
给出数据看看嘛~~
作者: h553690677 发布时间: 2011-10-28
楼主请自己建一个工程。把以下代码COPY到代码框,运行,看窗体上的结果,或者debug的结果即可。
不知道这是不是你的意思。
VB code
不知道这是不是你的意思。
VB code
Option Explicit Private Sub Form_Load() Me.AutoRedraw = True Dim addStr As String, LoProvince As Integer, LoCity As Integer, LoCountry As Integer, LoTown As Integer, LoVillage As Integer, getStr As String addStr = "河北省沧州市延山县庆云镇桃李村" LoProvince = InStr(1, addStr, "省", vbTextCompare) getStr = Mid(addStr, 1, LoProvince) Me.Print getStr Debug.Print getStr LoCity = InStr(1, addStr, "市", vbTextCompare) getStr = Mid(addStr, LoProvince + 1, LoCity - LoProvince) Me.Print getStr Debug.Print getStr LoCountry = InStr(1, addStr, "县", vbTextCompare) getStr = Mid(addStr, LoCity + 1, LoCountry - LoCity) Me.Print getStr Debug.Print getStr LoTown = InStr(1, addStr, "镇", vbTextCompare) getStr = Mid(addStr, LoCountry + 1, LoTown - LoCountry) Me.Print getStr Debug.Print getStr LoVillage = InStr(1, addStr, "村", vbTextCompare) getStr = Mid(addStr, LoTown + 1, LoVillage - LoTown) Me.Print getStr Debug.Print getStr End Sub
作者: luobaoline 发布时间: 2011-10-28
引用 4 楼 luobaoline 的回复:
楼主请自己建一个工程。把以下代码COPY到代码框,运行,看窗体上的结果,或者debug的结果即可。
不知道这是不是你的意思。
VB code
Option Explicit
Private Sub Form_Load()
Me.AutoRedraw = True
Dim addStr As String, LoProvince As Integer, LoCity……
借数据用下。.楼主请自己建一个工程。把以下代码COPY到代码框,运行,看窗体上的结果,或者debug的结果即可。
不知道这是不是你的意思。
VB code
Option Explicit
Private Sub Form_Load()
Me.AutoRedraw = True
Dim addStr As String, LoProvince As Integer, LoCity……
'此代码由“正则测试工具 v1.1.35”自动生成,请直接调用TestReg过程
VB code
Private Sub TestReg() Dim strData As String Dim reg As Object Dim matchs As Object, match As Object strData = "河北省沧州市延山县庆云镇桃李村" Set reg = CreateObject("vbscript.regExp") reg.Global = True reg.IgnoreCase = True reg.MultiLine = True reg.Pattern = "(.*?)省(.*?)市(.*?)县(.*?)镇(.*?)村" Set matchs = reg.Execute(strData) For Each match In matchs Debug.Print match.SubMatches(0),match.SubMatches(1),match.SubMatches(2),match.SubMatches(3),match.SubMatches(4) Next End Sub
作者: sysdzw 发布时间: 2011-10-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28