Pythonで文字列から括弧(カッコ)とその中身を削除する

Pythonで文字列から括弧(カッコ)とその中身を削除する方法について紹介します。
テキストデータの前処理などで使うケースがある方法になります。

こんな人におすすめ

・文字列からカッコとその中身を削除
・正規表現を用いた文字列の置換について学びたい
・Pythonでテキストデータの加工を行う場合に便利な処理を知りたい
・Pythonでテキスト処理の応用例を学びたい
・データクレンジングやデータ前処理に関心がある

主なライブラリ

re

本ページで使用するライブラリをインポートするときは以下のコードを使用します。

import re

文字列から括弧()とその中身を削除

Pythonで文字列からカッコとその中身を削除するプログラムを作成するには、正規表現モジュールreを使用します。以下は、括弧とその中身を含む文字列から括弧とその中身を取り除くプログラム例です。

import re

def remove_parentheses(string):
    # 括弧とその中身を含む正規表現パターンを定義する
    pattern = r'\([^()]*\)'

    # 正規表現パターンに一致する部分を空文字列で置換する
    result = re.sub(pattern, '', string)

    return result

string = 'Python(パイソン)は、コードの読みやすさが特徴です。'
result = remove_parentheses(string)

# 'Pythonは、コードの読みやすさが特徴です。'
print(result)

文字列から色々な括弧とその中身を削除

パターンに設定する内容を変更することで、複数の括弧に対応させることもできます。
以下の例では、()と<>を括弧の内容と一緒に、文字列から削除するプログラム例です。

import re

def remove_parentheses(string):
    # 括弧とその中身を含む正規表現パターンを定義する
    pattern = r"\([^)]*\)|\<[^>]*\>"

    # 正規表現パターンに一致する部分を空文字列で置換する
    result = re.sub(pattern, '', string)

    return result

string = 'Python(パイソン)は、コードの読みやすさが特徴<とくちょう>です。'
result = remove_parentheses(string)

# 'Pythonは、コードの読みやすさが特徴です。'
print(result)