ショートカットとPythonで

iPhoneのめんどくささを解消したい

箇条書きテキストを正規表現で整形してチャート化する


本ブログにはアフィリエイトトリンクを含みます


Python素人向けの内容です。

テキストファイルの高度な検索置換技術、正規表現Pythonで行います。一定のルールで書かれたテキストファイルを構造化したいとき、正規表現を使えば便利です。

コードの中の# 検索と置換を行う部分を書き換えれば汎用性が高く、どのようなパターンにも変換できます。

今回は、マインドマップソフトXmindでチャートを整形するところまで行いました。

チャート作成には構造化が必須

アポロ計画の年表をチャートにしてみました。下図左は元テキストから作成したもの。中央の図や右右図は構造化してからチャート化したものです。中央図、右図の方がすっきりします。

Xmindでチャート化したテキストファイル:アポロ計画の年表(左:第1階層、中図:第2階層、右図:第3階層)

テキストの編集は手作業でも出来ますが、手間と時間がかかります。テキストの検索置換は、Pythonで行うと手早く出来ます。

一度コードを作っておくと、検索置換のコードを少し変更するだけで、様々なケースで使うことが出来ます。

箇条書きテキストの構造をPythonで一発で書き換える

変更前

- aaa : bbb - ccc

変更後(第2階層)

## aaa
  ### bbb
  ### ccc

変更後(第3階層)

## aaa
  ### bbb
  #### ccc

箇条書き文章をさらに構造化するPythonコード

今回はもともと箇条書きデータですが、ハイフン-で区切られています。Xmindというマインドマップソフトに取り込む予定でしたが、

content = content.replace('- ', '## ')
content = content.replace(' - ', '\n### ')
content = content.replace(': ', '\n### ')

サンプル文書

元のテキスト

# アポロ計画の年表
- SA-1: 1961年10月27日 - 最初のテスト飛行。
- AS-201 (サターンIB): 1966年2月26日 - 打上げロケット開発のための飛行。
- アポロ1号: 1967年1月27日 - 火災事故により乗務員が死亡。

Python正規表現で修正したテキスト

検索置換にかかる時間は1秒以内。手早く検索置換が出来るのがPythonのよいところです。

# アポロ計画の年表
## SA-1
### 1961年10月27日
### 最初のテスト飛行。
## AS-201 (サターンIB)
### 1966年2月26日
### 打上げロケット開発のための飛行。
## アポロ1号
### 1967年1月27日
### 火災事故により乗務員が死亡。

実際の正規表現Pythonコード

# ファイルのパス
file_path = 'アポロ計画の年表.md'

# ファイルを読み込む
with open(file_path, 'r', encoding='utf-8') as file:
    content = file.read()

# 検索と置換を行う

content = content.replace(' - ', '\n#### ')
content = content.replace(': ', '\n### ')
content = content.replace('- ', '## ')

# 結果を同じファイルに書き込む(または新しいファイルパスを指定)
with open(file_path, 'w', encoding='utf-8') as file:
    file.write(content)

print("置換が完了しました。")

Xmindのクーポンコード

マインドマップソフトとしてはもちろん、構造化されたMarkdownテキストをチャート化できるXmindは非常に便利なソフトです。

無料版でもかなりの部分は使えます。一度ダウロードをお勧めします。

有料版をご検討の方、下記リンクからなら15%オフでご購入いただけます。

xmind.app

クーポンコードはこちらです。

XMINDOFFERD43