如何使用 python 从电话字符串中删除第二个“+”字符
How to remove a second '+' character from telephone string using python
例如字符串 +444401608+642055
需要删除任何“+”字符,除非“+”位于字符串的第一个位置。
最好使用 '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:]
只是字符串从第一个字符开始的其余部分。
如果你真的想使用正则表达式,你可以使用:
import re
foo = '+444401608+642055'
bar = re.sub(r'(?<!^)\+', '', foo)
print(bar)
(?<!)
是背后的负面看法。
^
表示一行的开始。
\+
按字面意思匹配字符 +
。
所以换句话说,寻找每个 +
没有紧跟行首的字符,并替换为 ''
或什么都不替换。
例如字符串 +444401608+642055
需要删除任何“+”字符,除非“+”位于字符串的第一个位置。
最好使用 '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:]
只是字符串从第一个字符开始的其余部分。
如果你真的想使用正则表达式,你可以使用:
import re
foo = '+444401608+642055'
bar = re.sub(r'(?<!^)\+', '', foo)
print(bar)
(?<!)
是背后的负面看法。
^
表示一行的开始。
\+
按字面意思匹配字符 +
。
所以换句话说,寻找每个 +
没有紧跟行首的字符,并替换为 ''
或什么都不替换。