以期望截取最后一个字符“-”的字符串为例,描述从指定第N个分隔符处截取的方法思路。
例 目的:截取最后一个字符“-”前的字符串
方法一:适用于想截取第一个分隔符后固定位数的字符串。
利用find函数查找第一个:“-”符号出现的位置,并使用left函数,截取到第一个符号位置+两位。截取left(P1,FIND("-",P1)+2),
方法二:更具有普遍性。
将最后一个“-”符号,通过SUBSTITUTE函数可以替换指定的其他符号,比如@,然后取@出现位置之前的字符串。
步骤1,首先知道“-”符号出现的次数。
利用SUBSTITUTE(P1,"-","") 将分隔符替换成空字符 如下图:
利用LEN(A2) - LEN(SUBSTITUTE(A2,"_","")) 即可获取里面被替换掉了多少个分隔符"-",如下图:
步骤2:指定第几个出现的分隔符被替换。
利用SUBSTITUTE函数可以替换指定,将P2单元格中第二次出现的分隔符“-”,替换为@,如下图:
小插曲,【如果,想将P2单元格中第一次出现分隔符“-”,替换为@,可以调整SUBSTITUTE函数最后一位值=SUBSTITUTE(P2,"-","@", (LEN(P2) - LEN(SUBSTITUTE(P2,"-","")))-1),如下图:
结果就是第一个第一次出现分隔符“-”,替换为@,如图:
】以此类推,想从哪个分隔符处截取,就替换哪个分隔符,从而可以实现第N个分隔符处截取……
小插曲结束。
步骤3:查找@出现的位置。
利用find函数查找:
步骤4:提取。
利用left函数从左往右提取@前的字符串,提取到@位置-1的字符串: