如何在python3中使用正则表达式在字符串中的每个字符后添加“-”?

我想在字符串中的每个字符之后添加'-',除了开始和结束处。

示例- 输入-'abcd' 预期输出-'a-b-c-d'  我试过-

Str1 = re.sub(r'([a-z])([a-z])',r'\1-\2',Str1)

我在做什么错了?

ling9012 回答:如何在python3中使用正则表达式在字符串中的每个字符后添加“-”?

使用str.join

例如:

s = 'abcd'
print("-".join(s))
# --> a-b-c-d
,

在这里使用字符串join可能是最好的选择,但是如果您想坚持使用正则表达式方法,则可以使用以下一种方法:

inp = "abcd"
output = re.sub(r'([a-z])(?!$)','\\1-',inp)
print(output)

此打印:

a-b-c-d

这里的想法是捕获每个字母并替换为该字母,如果字母不是字符串中的最后一个字母,则用破折号代替。

本文链接:https://www.f2er.com/3167757.html

大家都在问