如何在string中find一个string
我有像100,000个站点链接string的列表
- 每个链接都是唯一的,但它是一致的
?Item=
- 然后,它不是什么也不是在符号之后继续。
我的问题是:如何取出项目编号?
我知道replace函数可以提供类似的function,但它适用于固定大小,在我的情况下,string可以是不同的大小。
链接示例:
www.site.com?sadfsf?sdfsdf&adfasfd?Item=JGFGGG55555
要么
www.site.com?sadfsf?sdfsdf&adfasfd?Item=JGFGGG55555&sdafsdfsdfsdf
在这两种情况下,我只需要获取JGFGGG55555
如果这总是string的最后部分,则可以使用以下内容:
=MID(A1, FIND("?Item=", A1) + 6, 99)
这假定:
- 没有项目号码将超过99位数字。
- 项目编号没有附加字段。
编辑:
随着你的问题的更新,显然你有一些额外的数据string?Item=
字段。 没有使用VBA,没有一个简单的方法来使用MID
和FIND
来提取这个。
但是,您可以创build一个充当占位符的列。
例如,使用以下命令创build一个列:
=MID(A1,FIND("?Item=",A1)+6,99)
这会得到以下值: JGFGGG55555&sdafsdfsdfsdf
接下来,创build一个列使用:
=IF(ISERROR(FIND("&",B2)),B2,LEFT(B2,FIND("&",B2)-1))
这产生: JGFGGG55555
通过search第一个值为&
和使用之前的部分。 如果没有find,第一个值是简单的重复。
这个公式应该适用于以下两个例子:
=MID(A1,FIND("=",A1),IFERROR(LEN(A1)-FIND("&",A1,FIND("=",A1))-1,LEN(A1)+1-FIND("=",A1)))