gpt4 book ai didi

python - 如何删除列表中某个字符后的所有字符

转载 作者:行者123 更新时间:2023-12-04 08:32:03 25 4
gpt4 key购买 nike

我的问题是:
我有一个列表,经过多次清理后,其中包含看起来像“455XYZ455”的元素。我试图删除 X 之后的所有内容,但它在列表中。允许我执行此操作的代码如下:

check = [re.sub(r'\W', '', i) for i in content]
# print(check)
check2 = [re.sub('[aclassnewpagehref]', '', i) for i in check]
# print(check2)
check3 = [re.sub('[/<=""]', '', i) for i in check2]
# print(check3)
check4 = [item for item in check3 if item != '']
print(check4)
正如预期的那样,它给了我很多'455XYZ455'。我只想要“455”,但这是一个列表。
作为一个完整的 Python 初学者,我完全被困住了。
感谢您的阅读,也许对我有帮助!

最佳答案

您可以捕获要保留的第 1 组中的第一个数字,并从 X 开始删除其余数字。

\A(\d+)X.*\Z
说明
  • \A字符串开头
  • (\d+)X 中捕获 1+ 位数字第 1 组 ,然后匹配 X
  • .*\Z匹配任何字符 0+ 次并断言字符串的结尾

  • regex demo
    例如
    import re
    final = ["455XYZ455", "455XYZ455"]
    for item in final:
    print(re.sub(r"^(\d+)X.*\Z", r"\1", item))
    输出
    455
    455

    关于python - 如何删除列表中某个字符后的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64969131/

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