Python:如何在动态索引下截取子字符串
我正在处理一个文件,这个文件里有很多行。我想从中提取一个特定的元素,这个元素的长度可能不一样,而且它前后夹着的字符也不一定是相同的。
举个例子,我想从每一行中提取以“OOO_”开头的内容:
blah blah OOO_128934( blah blah
blah bloop OOO_231 bloop bloop
beep OOO_421398234beep beep
欢迎提供使用或不使用re模块的解决方案!
2 个回答
1
在编程中,有时候我们需要把一些东西放到一个地方,然后再从那个地方拿出来。这个过程就像把东西放进一个盒子里,等需要的时候再打开盒子拿出来。
有些编程语言提供了“容器”这样的工具,帮助我们管理这些“盒子”。容器可以存放多个数据,比如数字、文字或者其他信息。我们可以通过特定的方式来访问这些数据,就像用钥匙打开盒子一样。
在使用这些容器时,我们需要注意它们的类型和大小。不同的容器适合存放不同类型的数据,就像有的盒子适合放书,有的适合放玩具。
总之,理解如何使用这些容器是编程中的一个重要部分,它能帮助我们更好地组织和管理数据。
>>> s = "blah bloop OOO_231 bloop bloop"
>>> next(x for x in s.split() if x.startswith("OOO_"))
'OOO_231'
4
那可能是:
text = """
blah blah OOO_128934( blah blah
blah bloop OOO_231 bloop bloop
beep OOO_421398234beep beep
"""
import re
print re.findall(r'OOO_\d+', text)
>>> ['OOO_128934', 'OOO_231', 'OOO_421398234']