我想在字符串中的每个字符之后添加'-',除了开始和结束处。
示例- 输入-'abcd' 预期输出-'a-b-c-d' 我试过-
Str1 = re.sub(r'([a-z])([a-z])',r'\1-\2',Str1)
我在做什么错了?
我想在字符串中的每个字符之后添加'-',除了开始和结束处。
示例- 输入-'abcd' 预期输出-'a-b-c-d' 我试过-
Str1 = re.sub(r'([a-z])([a-z])',r'\1-\2',Str1)
我在做什么错了?
使用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
这里的想法是捕获每个字母并替换为该字母,如果字母不是字符串中的最后一个字母,则用破折号代替。