2024-04-25 01:10:26 发布
网友
例如,我需要两个方括号之间的所有内容。 文件1
[Home sapiens] [Mus musculus 1] [virus 1 [isolated from china]]
所以考虑到上面的例子,我需要在第一个方括号和最后一个方括号之间的所有内容。
给定您的示例输入,看起来每一行都以括号开始和结束。在这种情况下,忘记regexp,这很简单:
for line in whatever: contents = line.strip()[1:-1]
(我添加了strip,以防您的行源将换行符留在中,或者输入中的右括号后面有不可见的空格。如果没有必要,就把它放在一边。)
strip
可以使用贪婪的正则表达式:
re.search(r'\[(.*)\]', your_string).group(1)
正则表达式是最灵活的选项。
对于另一种方法,可以尝试string的partition和rpartition方法:
>>> s = "[virus 1 [isolated from china]]" >>> s.partition('[')[-1].rpartition(']')[0] 'virus 1 [isolated from china]'
给定您的示例输入,看起来每一行都以括号开始和结束。在这种情况下,忘记regexp,这很简单:
(我添加了
strip
,以防您的行源将换行符留在中,或者输入中的右括号后面有不可见的空格。如果没有必要,就把它放在一边。)可以使用贪婪的正则表达式:
正则表达式是最灵活的选项。
对于另一种方法,可以尝试string的partition和rpartition方法:
相关问题 更多 >
编程相关推荐