就是我从一个表里已经get到了一个字符串的地址,然后呢,要求是让我读取其到地级市,然后把他的行政区划代码自动生成出来,因为不能放附件,我多放几张图片来解释。1.我写了一个方法,把要取得那个地址字符串传进来了,但是不会写正则表达式,vba基础都没学过,直接上手完全看不懂,做Java得。2.我这边是有一个全国行政区划的代码表的,只要你在方法里截取到地级市了,可以去另外一个sheet里匹配到那个我想要的行政区划代码,我现在截取不到地级市,因为有的时候会有自治区什么的不规律得省,或者天津市xx市这种,我就做不到,请大佬帮帮忙
å¯ä»¥ä½¿ç¨å½æ°æåä¸ä¸ªå符串ä¸çä¸æ®µå符ã
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) å 为è¦æåç第ä¸ä¸ªå符çä½ç½®å¤§äºå符串çé¿åº¦ï¼æ以è¿å空ææ¬ ()ã
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) å 为è¦æåç第ä¸ä¸ªå符çä½ç½®å¤§äºå符串çé¿åº¦ï¼æ以è¿å空ææ¬ ()ã
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-05-08
mid(源字串,起始位号x,提取长度m);返回第x位起m个字符。要求:起始位号+提取长度<=源字串长度+1
left(源字串,左侧截取长度x);返回左侧x个字符
right(源字串,右侧截取长度y);返回右侧y个字符
instr(源字串,待查找子字串u);返回子字串首字符在源字串中的起始位号
chr(65);返回字母A
......本回答被网友采纳
left(源字串,左侧截取长度x);返回左侧x个字符
right(源字串,右侧截取长度y);返回右侧y个字符
instr(源字串,待查找子字串u);返回子字串首字符在源字串中的起始位号
chr(65);返回字母A
......本回答被网友采纳
第2个回答 2019-05-08
这个用正则是没法写的,只能把市级的名称做成一个数组,然后逐个匹配查找,用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追问
例如:数组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
然后我只想要他的规格,也就是从后面倒着截取,截取到最后出现的数字应该就可以把,格式是固定的,能不能帮我写一下?
这个要用正则了
数字+字符“粒” 或其他,要看数据然后定正则的规则