python - 如何提取两个标记之间的子字符串?

标签 python string substring

假设我有一个字符串 'gfgfdAAA1234ZZZuijjk'我只想提取 '1234'部分。

我只知道 AAA 之前的几个字符是什么, 在 ZZZ 之后我感兴趣的部分1234 .

sed可以用字符串做这样的事情:

echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|"

这会给我1234结果。

如何在 Python 中做同样的事情?

最佳答案

使用正则表达式 - documentation供进一步引用

import re

text = 'gfgfdAAA1234ZZZuijjk'

m = re.search('AAA(.+?)ZZZ', text)
if m:
    found = m.group(1)

# found: 1234

或:

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search('AAA(.+?)ZZZ', text).group(1)
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234

关于python - 如何提取两个标记之间的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4666973/

相关文章:

c - C 中是否有查找子字符串重叠的函数?

php - 从 Mysql 的一列中删除子字符串

python - 在更改下拉列表中的选项时从 URL 不变的站点抓取数据

python - Numpy 数组 - 根据前一个元素的变化改变下一个元素

python - 如何在igraph中查询与某个顶点相连的顶点?

python - MySQL 相当于 Python 的三引号字符串吗?

c++ - 为什么可以使用 'string' 作为变量名

Objective-C:如何提取字符串的一部分(例如从 '#' 开始)

python - 如何用字符串替换 beautifulsoup 中的空标签?

c - 当传递给函数指针然后返回到 c 中时,字符串打印出垃圾