删除括号内文本中的空格:Python



我是regex的新手。在这种情况下,我如何删除开头和结尾的空格。

a=";(a是a b(";

我在试

re.sub(r"([(s*w+s*)]*)",r"",a)

但我设法为这个模式写了一些,但对于替代品,我什么都不知道。我不确定它是否也适用于这种模式。需要你的支持。谢谢你的帮助。

您可以通过两个替换来实现这一点。也许还有更好的办法。

import re
a = "( a is a b )"
print(re.sub('(s+', '(', re.sub('s+)', ')', a)))

输出:

(a is a b)

我认为在您的情况下,使用lookahead/lookbacking是更好的方法。在这种模式中,它检查空格之前或之后是否有括号。(您可以在此处阅读详细信息(。你也可以在这里阅读关于这个正则表达式模式的解释

pattern = r"s(?=))|(?<=()s"
s = 'a = ( a is b )'
result = re.sub(pattern, '', s)

输出:

a = (a is b)

最新更新