我有一个以下形式的字符串
'"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
我需要用双引号梳理子字符串,所以'08770'和'tykjkj'。
我应该如何在python中完成?
答案 0 :(得分:2)
如果你想使用正则表达式:
>>> import re
>>> re.findall(r'""(.*?)""', '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"')
['O8770', 'tykjkj']
答案 1 :(得分:2)
很明显,从许多答案来看,有很多方法可以做到这一点。诀窍是将初始字符串“清理”或“映射”为易于分离的内容,例如通过字符串split()
方法。
>>> s = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
>>> s.replace('"', '\t').split()
['asfdfdfds', 'O8770', 'asdsadjieere', 'tykjkj', 'ldkflskfd']
选择如何映射原始字符串取决于您可能获得的字符串类型。他们都会有均衡的报价吗?它们包括什么样的空白或其他字符?现实世界的数据如何与您的基本解析假设相比较脏/不一致?因为可以尝试解析/拆分字符串的每种方式都取决于一些假设。
答案 2 :(得分:0)
这适用于命令行解释器。
s = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
s.split('\"')
result:
['', 'asfdfdfds', '', 'O8770', '', 'asdsadjieere', '', 'tykjkj', '', 'ldkflskfd', '']
答案 3 :(得分:0)
mystring = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
mystring.strip('"').split('""')
答案 4 :(得分:0)
使用带参数&#34的string.split函数;给你子串。
'"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'.split('"')
结果:
['', 'asfdfdfds', '', 'O8770', '', 'asdsadjieere', '', 'tykjkj', '', 'ldkflskfd', '']
答案 5 :(得分:0)
vals = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'.split('\"')
print [val for val in vals if val]
答案 6 :(得分:0)
您可以使用正则表达式
import re
string = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
print re.findall('".+?"', string)