繁体   English   中英

如何使用 python 从电话字符串中删除第二个“+”字符

[英]How to remove a second '+' character from telephone string using python

例如字符串 +444401608+642055

除非“+”在字符串的第一个 position 中,否则需要删除任何“+”字符。

最好使用're' python 库。

+444401608+642055 -> +444401608642055

+4444+01608+642+055 -> +444401608642055

提前致谢!!

你可以使用:

foo = '+444401608+642055'
bar = foo[0] + foo[1:].replace('+', '')
print(bar)

这假设您的字符串至少有一个字符( foo[0] )。 它之所以有效,是因为如果foo[0]不是+ ,我们无论如何都可以在str.replace()中安全地忽略它。 foo[1:]只是从第一个字符开始的字符串的 rest 。

如果你真的想使用正则表达式,你可以使用:

import re
foo = '+444401608+642055'
bar = re.sub(r'(?<!^)\+', '', foo)
print(bar)

(?<!)是负面的看法。

^表示一行的开始。

\+匹配字符+字面意思。

因此,换句话说,查找不是紧跟在行开头之前的每个+字符并替换为''或什么都不替换。

https://regex101.com/r/om6Z1j/2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM