如何替换仅出现在单词边界的特殊字符

时间:2019-05-01 19:04:43

标签: python regex

如何替换python中仅在单词边界(开始或结束)处出现的字符?

a = "Hello;World;"

预期产量

"Hello;World"

也是在以后的阶段,如果我只想替换特殊字符,只要它们出现在单词内而不是边界处, 例如:

a = "Hello;World;"

预期产量

"Hello-World;"

3 个答案:

答案 0 :(得分:2)

好吧,format可以解决这个问题,

a = "Hello;World;"
a = "{}{}{}".format(a[0],a[1:-1].replace(";", "-"),a[-1])
a # Hello-World;

答案 1 :(得分:1)

您可以使用此正则表达式替换任一字符为非单词边界的特殊字符,

\B;|;\B

Regex Demo 1

如果您要替换一个特殊字符,该字符被单词边界从两侧包围,则可以使用此正则表达式,

\b;\b

Regex Demo 2

答案 2 :(得分:1)

对于单词边界情况,您可以使用带有string.strip参数的旧;

a = "Hello;World;"
print(a.strip(';'))
#Hello;World