gpt4 book ai didi

python - 如何在 Python 中编写正则表达式以删除字符串中间数字的前导零

转载 作者:行者123 更新时间:2023-12-05 01:06:55 31 4
gpt4 key购买 nike

我有一个由两个字母后跟一个数字组成的字符串,我需要删除所有字母以及数字中的前导零。

例如:在测试字符串U012034中,我要匹配U012034开头的0 .

到目前为止,我有 [^0-9] 来匹配任何不是数字的字符,但我不知道如何删除数字中的前导零。

我知道我可以使用 int(re.sub("[^0-9]", "", test_string) 之类的多个步骤执行此操作,但我需要完成此过程在一个正则表达式中。

最佳答案

你可以使用

re.sub(r'^\D*0*', '', text)

regex demo . 详情

  • ^ - 字符串开始
  • \D* - 任何零个或多个非数字字符
  • 0* - 零个或多个零。

Python demo :

import re
text = "U012034"
print( re.sub(r'^\D*0*', '', text) )
# => 12034

如果第一个数字后面还有更多文字,请使用

print( re.sub(r'^\D*0*(\d+).*', r'\1', text) )

this regex demo . 详情:

  • ^ - 字符串开始
  • \D* - 零个或多个非数字
  • 0* - 零个或多个零
  • (\d+) - 第 1 组:一个或多个数字(使用 (\d+(?:\.\d+)?) 匹配浮点或整数值)
  • `.* - 字符串的其余部分。

替换的是第 1 组的值。

关于python - 如何在 Python 中编写正则表达式以删除字符串中间数字的前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68168540/

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