繁体   English   中英

如何使用python提取字符串(包含多个定界符)中的路径

[英]How to extract a path with in a string (which contains multiple delimiters) using python

我有一个像这样的字符串:

string = "Some thing like, this, 'multiple delimiters', present, '', '','' ,'','File\Path\To\Extract.csv', '', '', String Ends"

我想在整个字符串中提取此csv文件路径File\\Path\\To\\Extract.csv

尝试使用string.split("'")[n] ,但是我的定界符'不固定,它会为每个字符串不断变化。

如果遇到这种情况,请突出显示解决方案。

谢谢。

试试这个,它不需要导入其他包。 您可以使用字符串操作执行此操作。

string = "Some thing like, this, 'multiple delimiters', present, '', '','' ,'','File\Path\To\Extract.csv', '', '', String Ends"
str_list=string.split("'")
for each in str_list:
    if each.endswith('csv'):
        print each

你需要这个:

string = "Some thing like, this, 'multiple delimiters', present, '', '','' ,'','File\Path\To\Extract.csv', '', '', String Ends"

print string.split(",")[8][1:-1]

要么

print string.split("'")[11]

要么

for i in string.split("'"):
    if i.endswith("csv") and "\\" in i:
        print i

输出:

File\Path\To\Extract.csv

使用正则表达式:

In [13]: import re

In [14]: s = "Some thing like, this, 'multiple delimiters', present, '', '','' ,'','File\Path\To\Extract.csv', '', '', String Ends"

In [15]: re.search(r"'([\w\\]+\.csv)'", s).group(1)
Out[15]: 'File\Path\To\Extract.csv'

你可以试试:

>>> string = "Some thing like, this, 'multiple delimiters', present, '', '','' ,'','File\Path\To\Extract.csv', '', '', String Ends"
>>> data_list = string.split(",")
>>> for data in data_list:
    if "csv" in data:
        print (data)        
'File\Path\To\Extract.csv'

这个怎么样?

for item in string.split(","):
  if ".csv" in item:
    print(item)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM