gpt4 book ai didi

python - 从字符串数组中替换 s 子字符串 - Python

转载 作者:行者123 更新时间:2023-12-01 07:37:24 25 4
gpt4 key购买 nike

如何使用 Python 使用正则表达式从以下字符串“AA.01.001 Hello”中删除子字符串。

我尝试了以下方法,但没有成功。

array= ['AB.01.001 Hello','BA.10.004','CD.10.015 Good bye']
regex = re.compile(r'[A-Z]{2,3}\\.[0-9]{2}\\.[0-9]{3}')
filtered = filter(lambda i: not regex.search(i), array)

Edit:

Exprected output : [`Hello`,'Good bye']

最佳答案

您可以使用re.sub:

import re
array= ['AB.01.001 Hello','BA.10.004','CD.10.015 Good bye']
regex = re.compile(r'[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\s*')
filtered = filter(None, map(lambda i: regex.sub('', i), array))
print(list(filtered))
# => ['Hello', 'Good bye']

请参阅Python demo .

注意,我只使用了一个 \ 来转义文字点(因为您使用原始字符串文字来定义正则表达式),并添加了 \s* 来删除模式后有任何 0 个或多个空格。

详细信息

  • map(lambda i: regex.sub('', i), array) - 迭代 array 项并删除与 re 的匹配项。子
  • filter(None, ...) 当模式与整个字符串匹配时,删除替换产生的空项。

关于python - 从字符串数组中替换 s 子字符串 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56922563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com