Удаление скобок и всего в них с помощью Regex - PullRequest
0 голосов
/ 07 декабря 2018

Возникли проблемы с кодом, через который я работаю.По сути, у меня есть стенограммы (txt файлы) для нескольких японских аниме, из которых я хочу удалить все, кроме разговорных строк (японские предложения), чтобы провести некоторые эксперименты с НЛП.

Мне удалось выполнитьхорошая уборка, но я застрял в скобках.Большинство элементов в моем списке начинаются с имени персонажа в скобках (т. Е. (Армин)).Я хочу удалить их, но весь код регулярных выражений, который я нашел в Интернете, похоже, не работает.

Вот фрагмент списка, с которым я работаю:

['(アルミン)その日', '人類は思い出した', '(アルミン)奴らに', '支配されていた恐怖を', '(アルミン)鳥籠の中に', 'とらわれていた―', '屈辱を', '(キース)総員', '戦闘用意!', '目標は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 голосов
/ 07 декабря 2018

Скобки, используемые в тексте, являются скобками полной ширины.В частности, U + FF08 ПОЛНЫЙ ПАРЕНТГЕЗ ПОЛНОЙ И U + FF09 ПОЛНЫЙ ПАРЕНТГЕЗ ПОЛНЫЙ.

Ваше регулярное выражение также должно использовать скобки полной ширины.

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