excel公式在文件路径文本字符串中查找零件号

excel公式在文件路径文本字符串中查找零件号,excel,string,excel-formula,partial,Excel,String,Excel Formula,Partial,我有一个网络驱动器上所有文件的摘录,在一些文件名中有一个零件号,零件号的格式是0000-000000-00。现在,在这个文件中的600000多个路径名中,我试图找出如何从路径名中提取零件号。我认为mid公式可能有效,但我不知道如何告诉它找到任何与部分#格式0000-000000-00有关的内容,并从路径中仅提取这14个字符 输入看起来像这样 c:\users\stuff\folder_name\1234-000001-01_ baskets_1.pdf c:\users\stuff\folder

我有一个网络驱动器上所有文件的摘录,在一些文件名中有一个零件号,零件号的格式是
0000-000000-00
。现在,在这个文件中的600000多个路径名中,我试图找出如何从路径名中提取零件号。我认为
mid
公式可能有效,但我不知道如何告诉它找到任何与部分#格式
0000-000000-00
有关的内容,并从路径中仅提取这14个字符

输入看起来像这样

c:\users\stuff\folder_name\1234-000001-01_ baskets_1.pdf
c:\users\stuff\folder_name\1234-000001-02_ baskets_2.pdf
c:\users\stuff\folder_name\1234-000001-03_ baskets_3.pdf
c:\users\stuff\folder_name\1234-000030-01_ tree_30.pdf
c:\users\stuff\folder_name\random text_1234-000030-02_ tree_30.pdf
c:\users\stuff\folder_name\more random stuff_1234-000030-02_ tree_30.pdf
我希望的产出

1234-000001-01
1234-000001-02
1234-000001-03
1234-000030-01

由于您有一个我们可以利用的模式,请使用以下方法:

=MID(A1,SEARCH("????-??????-??",A1),14)
查找模式的开头并返回后面的14个字符


既然您有一个我们可以利用的模式,请使用以下方法:

=MID(A1,SEARCH("????-??????-??",A1),14)
查找模式的开头并返回后面的14个字符


您需要一个公式,但也可以使用UDF应用正则表达式来获得模式(在本例中有点过分,但值得注意):


在工作表中使用自定义项:


模式:
\d{4}-\d{6}-\d{2}

说明:

\d{4}匹配一个数字(等于[0-9])

{4} 量词-精确匹配4次

“-”匹配字符-按字面意思(区分大小写)

\d{6}匹配一个数字(等于[0-9])

{6} 量词-精确匹配6次

“-”匹配字符-按字面意思(区分大小写)

\d{2}匹配一个数字(等于[0-9])

{2} 量词-精确匹配2次

全局模式标志: g修饰语:全局。所有比赛(第一场比赛后不返回)
m修改器:多行。使“^”和“$匹配每行的开始/结束(不仅是字符串的开始/结束)

您需要一个公式,还可以使用一个UDF应用正则表达式来获得模式(在本例中有点过分,但值得注意):


在工作表中使用自定义项:


模式:
\d{4}-\d{6}-\d{2}

说明:

\d{4}匹配一个数字(等于[0-9])

{4} 量词-精确匹配4次

“-”匹配字符-按字面意思(区分大小写)

\d{6}匹配一个数字(等于[0-9])

{6} 量词-精确匹配6次

“-”匹配字符-按字面意思(区分大小写)

\d{2}匹配一个数字(等于[0-9])

{2} 量词-精确匹配2次

全局模式标志: g修饰语:全局。所有比赛(第一场比赛后不返回)
m修改器:多行。使“^”和“$匹配每行的开始/结束(不仅仅是字符串的开始/结束)

我本应该将此添加到示例中,过一会儿我就会添加,但有时零件#前面会有其他文本。有没有办法在部件中使用双连字符进行mid训练?通过“部件前面的其他文本”,你的意思是像
c:\users\stuff\folder\u name\othertext1234-000001-01_ubaskets\u 1.pdf
?@scottcraner这很好,我将在文件路径混乱的数据子集上试用它。但是谢谢你,我应该把这个添加到示例中,我会在一秒钟内完成,但有时在部分前面会有其他文本。有没有办法在部件中使用双连字符进行mid训练?通过“部件前面的其他文本”,你的意思是像
c:\users\stuff\folder\u name\othertext1234-000001-01_ubaskets\u 1.pdf
?@scottcraner这很好,我将在文件路径混乱的数据子集上试用它。但是谢谢你,伙计,这绝对是一个很好的解决方案,谢谢你的介绍。我想我会遵循它,我会在我更大的数据集上尝试它。我知道我将来也会做类似的事情,所以usf可能是通往戈杜德的正确途径,这绝对是一个很好的解决方案,谢谢大家的介绍。我想我会遵循它,我会在我更大的数据集上尝试它。我知道我将来也会做类似的事情,所以usf可能是正确的选择