在Excel中第n次出现字符后提取文本字符串(函数或VB)

Gar*_*ock 7 excel vba excel-vba

寻找VB或Excel函数返回

azat-tab-25mg

Y:\master-documentation\azat\dp\tab\25mg\2-drug-product\azat-tab-25mg-dp-1-bmi-[d-6475703-01-11].pdf

是否有一个函数来获取第7次发生后的文本\

qua*_*285 6

split函数将字符串拆分为任何大小所需的数组.Split的第一个参数是要拆分的文本,第二个是分隔符.

Sub test()
Dim strFound As String
Text = "Y:\master-documentation\azat\dp\tab\25mg\2-drug-product\azat-tab-25mg-dp-1-bmi-[d-6475703-01-11].pdf"
strFound = Split(Text, "\")(7)

End Sub
Run Code Online (Sandbox Code Playgroud)


bar*_*ini 5

如果单元格 A1 中有数据,则以下工作表公式会提取第 7 个“\”之后的所有内容

=REPLACE(A1,1,FIND("^^",SUBSTITUTE(A1,"\","^^",7)),"")

SUBSTITUTE函数替换7号"\""^^"[使用字符的任意字符或组合,你知道会不会出现在数据]

...thenFIND函数找到的位置"^^"并允许REPLACE函数用空替换这些字符和之前的所有字符。

  • @vba4all 同意.....但他确实说`“在第 7 次出现 \ 之后是否有一个中间函数来获取文本?”` - 并且没有定义之后限制文本的方法,我假设加里已经知道怎么做。 (2认同)