如何去除句子中的括号和空格?

sks*_*mik -1 python regex

我知道问题标题与许多其他问题相似,但我也阅读了这些答案,但对我的案例不起作用。我有一些字符串,如下所示:

s = '?ANTENOR?'
s = '?????'
Run Code Online (Sandbox Code Playgroud)

字符串有时用英语,有时用日语。我尝试了 StackOverflow 中给出的不同解决方案,但就我而言,这些解决方案不起作用。例如,我尝试了以下方法,但在我的情况下不起作用:

s = re.sub(r'[()]', '', s)
Run Code Online (Sandbox Code Playgroud)

但不起作用并返回与原始字符串相同的字符串。

我的输出应如下所示:

ANTENOR
???
Run Code Online (Sandbox Code Playgroud)

只有正文,没有括号,也没有括号。有什么帮助吗?

azr*_*zro 6

这不是经典的括号,而是FULLWIDTH LEFT PARENTHESIS。您可以使用ord. 甚至没有空格,只有字符并且它之前有一些空格,在里面

# yours
print(ord('?'))  # 65288
# classic parenthesis
print(ord('('))  # 40
Run Code Online (Sandbox Code Playgroud)

删除它们的解决方案是将它们复制/粘贴到正则表达式中

s = '?ANTENOR?'
s = re.sub(r'[??]', '', s)
print(f">{s}<")  # >ANTENOR<

s = '?????'
s = re.sub(r'[??]', '', s)
print(f">{s}<")  # >???<
Run Code Online (Sandbox Code Playgroud)