1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

勝間和代のメルマガの不要な文字列を削除するPythonプログラム

Last updated at Posted at 2018-06-28

勝間和代さんのサポートメール(http://www.katsumaweb.com/sample.php)を音声読みあげで聞く用に、読みあげに邪魔な部分を削除するプログラムを作りました。

コピーした状態で実行すると、不要な文字列を削除してクリップボードにコピーする、というものです。

SapomeYomiage.py - 勝間和代のサポートメールからURLと不要な定型文を除去する。
import pyperclip, re
text = str(pyperclip.paste())
ret0 = re.sub(r"^自分コーチング手帳サポートメール.*?月のバックナンバー", "" ,text, flags=(re.MULTILINE | re.DOTALL))   #文頭の不要文字列を除去
ret1 = re.sub(r"(https?|ftp)(:\/\/[-_\.!~*\'()a-zA-Z0-9;\/?:\@&=\+\$,%#]+)", "" ,ret0)   #URLの除去
ret2 = re.sub(r"(★サポメ会員の勝間塾への新規入会.*?サポートメールのバックナンバーはこちらからお読みいただけます)","",ret1, flags=(re.MULTILINE | re.DOTALL)) #定型文除去
ret3 = re.sub(r"<<前週翌週>> .*$","",ret2, flags=(re.MULTILINE | re.DOTALL))
pyperclip.copy(ret3)

##苦労したこと
探したい文字列の文頭.*?探したい文字列の末尾
という正規表現にたどり着くのに時間かかりました。
?が非貪欲、という意味になり、最も短くマッチするものを探してくれます。

flags=(re.MULTILINE | re.DOTALL)
という書き方。普通に|で区切って書いたらなぜかうまくいきませんでした。

なかなか楽しかったです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?