Excel使用公式截取字符串

例如一个文件列表:

E:\Nginx\nginx\trunk\src\core\nginx.c
E:\Nginx\nginx\trunk\src\http\ngx_http.c
E:\Nginx\nginx\trunk\src\os\win32\ngx_os.h
E:\Nginx\nginx\branches\stable-1.2\src\core\nginx.h
E:\Nginx\nginx\trunk\src\core\ngx_buf.c

现在需要截取文件名。

多么希望有一个LASTINDEXOF或者RIGHTFIND之类的函数可以直接用啊,可惜。。只好想歪门邪道了:

RIGHT(A1, LEN(A1)-FIND("*", SUBSTITUTE(A1, "\", "*", LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))

注:字符串长度减掉把“\”去掉的字符串长度,等于“\”个数,也就是最后一个“\”的位置。

另一个同事直接在SQLServer中使用SQL语句截取的,思路也很奇葩:

SELECT REVERSE
(
SUBSTRING(
REVERSE(B),
CHARINDEX('.',REVERSE(B))+1 ,
CHARINDEX('\',REVERSE(B))-CHARINDEX('.',REVERSE(B))-1
)
) FROM C

注:先反转,找到第一个“\”左侧的子串,再反转。不过在其他数据库下不能用,比较可惜。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值