我有以下形式双引号字符串蟒蛇
'"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
我需要梳理出双引号中的子串的字符串,因此“08770”和“tykjkj”。
我应该怎么做在python中?
我有以下形式双引号字符串蟒蛇
'"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
我需要梳理出双引号中的子串的字符串,因此“08770”和“tykjkj”。
我应该怎么做在python中?
如果你想使用正则表达式:
>>> import re
>>> re.findall(r'""(.*?)""', '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"')
['O8770', 'tykjkj']
这个问题很容易适用于简单的字符串方法。 – TigerhawkT3 2015-04-03 20:59:20
这可能是,但这是实际给出OP要求的唯一答案。 – Ben 2015-04-03 21:01:16
我同意,我喜欢答案本! – 2015-04-03 21:02:17
这可以从命令行解释器中运行。
s = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
s.split('\"')
。
result:
['', 'asfdfdfds', '', 'O8770', '', 'asdsadjieere', '', 'tykjkj', '', 'ldkflskfd', '']
你不需要逃生,你应该分裂在2个双引号 - 's.split('“'')' – MattDMo 2015-04-03 20:49:50
mystring = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
mystring.strip('"').split('""')
你能解释你的答案吗? – Zulu 2015-04-04 00:13:23
它需要字符串,删除前导和尾部双引号,然后创建一个列表,其中列出了由双引号分隔的左侧。 – TigerhawkT3 2015-04-04 05:38:21
使用string.split功能与参数“给你的子
'"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'.split('"')
结果:
['', 'asfdfdfds', '', 'O8770', '', 'asdsadjieere', '', 'tykjkj', '', 'ldkflskfd', '']
vals = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'.split('\"')
print [val for val in vals if val]
你可以用'if val'替换'if val!='''。 – TigerhawkT3 2015-04-03 20:51:47
是的,可以做到。 – 2015-04-03 20:53:21
很明显,从很多答案中,有很多方法可以做到这一点。诀窍是将初始字符串“清理”或“映射”为可以容易分离的内容,例如通过字符串split()
方法。
>>> s = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
>>> s.replace('"', '\t').split()
['asfdfdfds', 'O8770', 'asdsadjieere', 'tykjkj', 'ldkflskfd']
的选择如何原来的字符串映射为依赖于什么样的字符串你可能会得到。他们都会有平衡的报价?他们可能包含什么样的空白或其他字符?真实世界的数据如何变得很脏/与您的基本解析假设不一致?因为任何可以尝试解析/拆分字符串的方法都取决于的一些假设。
初始字符串并不一定需要清理 - 'split()'可以分割不仅仅是空白。 – TigerhawkT3 2015-04-03 20:58:15
@ TigerhawkT3是的'split()'是相当通用的。但是考虑一下:你的答案在调用split('“'')'之前使用'strip(''')'。'strip'调用?你正在清理初始字符串,然后可以方便地拆分它。 QED。 – 2015-04-03 21:00:54
你可以使用正则表达式
import re
string = '"asfdfdfds""O8770""asdsadjieere""tykjkj""ldkflskfd"'
print re.findall('".+?"', string)
为什么不 'asdsadjieere'? – 2015-04-03 20:50:19
从答案来看,这个问题大约15%清楚了需要什么。 – TigerhawkT3 2015-04-03 21:11:03
对不起,我以为我是“嘲笑”是我提到的。 – 2015-04-03 21:14:42