excel中vba提取字符串问题 10

就是我从一个表里已经get到了一个字符串的地址,然后呢,要求是让我读取其到地级市,然后把他的行政区划代码自动生成出来,因为不能放附件,我多放几张图片来解释。1.我写了一个... 就是我从一个表里已经get到了一个字符串的地址,然后呢,要求是让我读取其到地级市,然后把他的行政区划代码自动生成出来,因为不能放附件,我多放几张图片来解释。1.我写了一个方法,把要取得那个地址字符串传进来了,但是不会写正则表达式,vba基础都没学过,直接上手完全看不懂,做Java得。2.我这边是有一个全国行政区划的代码表的,只要你在方法里截取到地级市了,可以去另外一个sheet里匹配到那个我想要的行政区划代码,我现在截取不到地级市,因为有的时候会有自治区什么的不规律得省,或者天津市xx市这种,我就做不到,请大佬帮帮忙 展开
 我来答
绿衣人敲门
2019-05-09 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63767
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部
可以使用函数提取一个字符串中的一段字符。

MID 用来返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。

语法:
MID(text, start_num, num_chars)
参数:
MID函数语法具有下列参数:
Text 必需。包含要提取字符的文本字符串。
Start_num 必需。文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,依此类推。
Num_chars 必需。指定希望 MID 从文本中返回字符的个数。

说明:

如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。

示例:
数据 "Fluid Flow " 假设在A1单元格。
=MID(A2,1,5) 上面字符串中的 5 个字符,从第一个字符开始 (Fluid) 。
=MID(A2,7,20) 上面字符串中的 20 个字符,从第七个字符开始 (Flow) 。
=MID(A2,20,5) 因为要提取的第一个字符的位置大于字符串的长度,所以返回空文本 ()。
花开烂漫招蜂943
2019-05-08 · TA获得超过3231个赞
知道大有可为答主
回答量:7193
采纳率:76%
帮助的人:682万
展开全部
mid(源字串,起始位号x,提取长度m);返回第x位起m个字符。要求:起始位号+提取长度<=源字串长度+1
left(源字串,左侧截取长度x);返回左侧x个字符
right(源字串,右侧截取长度y);返回右侧y个字符
instr(源字串,待查找子字串u);返回子字串首字符在源字串中的起始位号
chr(65);返回字母A
......
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pepe3399
2019-05-08 · 知道合伙人软件行家
pepe3399
知道合伙人软件行家
采纳数:1259 获赞数:5940
1988年毕业于苏州市职业大学计算机专业 从事软件开发5年 从事生产管理20年

向TA提问 私信TA
展开全部
这个用正则是没法写的,只能把市级的名称做成一个数组,然后逐个匹配查找,用instr
例如:数组a(1 to 100)存放地级市的名称,例如 青岛,烟台等
for 1=1 to 100
if instr(dizh,a(i))>0 then
xx=a(i)
exit for
end if
next i
追问
这个问题已经找大佬帮忙解决了,现在还有个问题需要您帮一下,也是一个字符串,就是商品名称后面会带上它的规格,我现在要提取出他的规格,应该怎么去实现?
例子 1 药品是商品名称加后缀xxx粒/瓶 阿莫西林胶囊12粒/盒
2 化妆品 是后面加g 欧莱雅美白霜80g
然后我只想要他的规格,也就是从后面倒着截取,截取到最后出现的数字应该就可以把,格式是固定的,能不能帮我写一下?
追答
这个要用正则了
数字+字符“粒” 或其他,要看数据然后定正则的规则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式