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

问题描述 投票:-1回答:3

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

a = "Hello;World;"

预期产出

"Hello;World"

也是在后期阶段,如果我想要替换特殊字符,只有它们存在于单词内而不是边界时例如:

a = "Hello;World;"

预期产出

"Hello-World;"
python regex
3个回答
2
投票

那么format可以处理这个,我敢肯定:

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

1
投票

您可以使用此正则表达式替换一个特殊字符,其中任一边是非字边界,

\B;|;\B

Regex Demo 1

如果你想要从两边替换一个被字边界包围的特殊字符,你可以使用这个正则表达式,

\b;\b

Regex Demo 2


1
投票

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

a = "Hello;World;"
print(a.strip(';'))
#Hello;World
© www.soinside.com 2019 - 2024. All rights reserved.