如何在 excel 中的 3 个斜杠后获取字符串

How to get string after 3 slash in excel

我很难找到在 excel 2007 公式的最后一个斜线之前获取 string 的方法。

https://www.example.com/text13611283/url_complement

我需要的字符串是这样的:text13611283

有多种方法可以根据输入值完成此任务 情况 1:您可以使用菜单“DATA/Text 到列”

来分隔列

情况 2:假设您的文本位于 A2 单元格中,则 B2 中的公式将为 "=LEFT(MID(A2,FIND("/",A2,10)+1,100),FIND("/",MID (A2,FIND("/",A2,10)+1,100),1)-1)"

=INDEX(TRIM(MID(SUBSTITUTE(A1,"/",REPT(" ",99)),IF(ROW(INDEX($A:$A,1):INDEX($A:$A,255))=1,1,(ROW(INDEX($A:$A,1):INDEX($A:$A,255))-1)*99),99)),4)
  • 将每个 / 替换为 99 spaces
  • 使用 MID,为字符串中的每个 99-space 分隔元素创建一个数组
    • =IF(ROW(INDEX($A:$A,1):INDEX($A:$A,255))=1,1,(ROW(INDEX($A:$A,1):INDEX($A:$A,255))-1)*99) 创建一个数组,用于 MID 函数的 start 参数。它 returns 一个 {1,99,198,297,...}
    • 的数组
  • TRIM 去掉多余的 spaces
  • INDEX 提取正确的元素。在这种情况下,它将是 4.

单元格中最后两次出现的斜杠 (/) 之间的字符串 A1

公式

=MID(A1,FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1))+1,FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1))-1)

怎么办?

公式如何

=LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))
=SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))
=FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))
=LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1
=SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1)
=FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1))
=MID(A1,FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1))+1,FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))))-FIND("@",SUBSTITUTE(A1,"/","@",LEN(A1)-LEN(SUBSTITUTE(A1,"/",""))-1))-1)