使用正则表达式删除括号及其中的所有内容

时间:2018-12-07 17:40:36

标签: regex python-3.x nlp data-science data-munging

我正在处理的某些代码有点麻烦。基本上,我有一些日语动画的成绩单(txt文件),为了进行一些NLP实验,我想删除其中的所有内容(口语(日语句子)除外)。

我已经完成了一些清洁工作,但是卡住的地方是括号。我列表中的大多数元素都以括号内的字符名称开头(即(Armin))。我想删除这些,但是我在网上找到的所有正则表达式代码似乎都不起作用。

以下是我正在使用的列表的摘要:

['(アルミン)その日', '人類は思い出した', '(アルミン)奴らに', '支配されていた恐怖を', '(アルミン)鳥籠の中に', 'とらわれていた―', '屈辱を', '(キース)総員', '戦闘用意!', '目標は1体だ', '必ず仕留め―', 'ここを', '我々', '人類', '最初の壁外拠点とする!', '(エルヴィン)あっ…', '目標接近!', '(キース)訓練どおり5つに分かれろ!', '囮は我々が引き受ける!', '全攻撃班', '立体機動に移れ!', '(エルヴィン)全方向から', '同時に叩くぞ!', '(モーゼス)やあーっ!']

我尝试了以下代码(它与我能得到的非常接近):

no_parentheses = []

for line in mylist:

    if '(' in line:
        line = re.sub('\(.*\)','', line)
        no_parentheses.append(line)

    else:
        no_parentheses.append(line)

但是当我查看结果时,那些讨厌的括号仍在嘲笑中。

有人可以提供解决此问题的建议吗?

再次感谢!

1 个答案:

答案 0 :(得分:4)

文本中使用的括号为全角括号。具体来说,U + FF08左全掌,U + FF09右全掌。

您的正则表达式也应使用全角括号。

line = re.sub('(.*)','', line)