Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除第二个'+';使用python从电话字符串中提取字符_Python_Re - Fatal编程技术网

如何删除第二个'+';使用python从电话字符串中提取字符

如何删除第二个'+';使用python从电话字符串中提取字符,python,re,Python,Re,e、 g.字符串+444401608+642055 如果“+”位于字符串的第一个位置,则需要删除任何“+”字符 更喜欢使用“re”python库 +444401608+642055->+444401608642055 +4444+01608+642+055->+444401608642055 提前谢谢 您可以使用: foo = '+444401608+642055' bar = foo[0] + foo[1:].replace('+', '') print(bar) import re foo

e、 g.字符串+444401608+642055

如果“+”位于字符串的第一个位置,则需要删除任何“+”字符

更喜欢使用“re”python库

+444401608+642055->+444401608642055

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

提前谢谢

您可以使用:

foo = '+444401608+642055'
bar = foo[0] + foo[1:].replace('+', '')
print(bar)
import re
foo = '+444401608+642055'
bar = re.sub(r'(?<!^)\+', '', foo)
print(bar)
这假定字符串至少有一个字符(
foo[0]
)。它之所以有效,是因为如果
foo[0]
不是
+
,我们可以在
str.replace()
中安全地忽略它
foo[1://code>只是从第一个字符开始的字符串的其余部分

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

foo = '+444401608+642055'
bar = foo[0] + foo[1:].replace('+', '')
print(bar)
import re
foo = '+444401608+642055'
bar = re.sub(r'(?<!^)\+', '', foo)
print(bar)
重新导入
foo='+444401608+642055'
条形图=r'(?''
或无


当您可以使用
foo[0]+foo[1:]时,实际上不需要使用
re
。替换('+','')
@Axe319。Thakns指出有一个更简单的选项。我对Python还很陌生,你能不能请你以代码的形式详细说明它。非常感谢!我把它作为一个答案加上一个regex替代项。@Axe319,你绝对是个明星。非常感谢!!