DEV Community

Shootacean
Shootacean

Posted on • Updated on • Originally published at shootacean.com

英文をブログURLに適した形式に変換するPythonスクリプト

Image from Gyazo

Python script to convert English text to a format suitable for blog URLs

こんにちは。shootaceanです。

ブログ記事を書いた後にはURLを決める必要がありますが、
その際に活用できるPythonスクリプトを紹介します。

Pythonを実行する環境さえあればコピペだけで真似できるので、ぜひ試してみてください。

以下のPythonコードを main.py というファイル名で保存します。

import sys

def convert(title: str) -> str:
    """英文を記事URLの形式に変換する"""

    newTitle = title.lower()
    newTitle = newTitle.replace("/", "-", -1)
    newTitle = newTitle.replace(" ", "-", -1)
    newTitle = newTitle.replace("'", "", -1)
    # 他に変換したい文字がある場合は、ここに追記していく
    # newTitle = newTitle.replace("変換前の文字", "変換後の文字", -1)

    return newTitle

if __name__ == "__main__":

    # コマンドライン引数を受け取る ( sys.argv[0]はプログラム名なので使用しない )
    if (len(sys.argv) == 2):
        # 引数が1つの場合は、そのまま使用する
        title = sys.argv[1]
    else:
        # 引数が2つ以上の場合は、文字列として連結する
        title = " ".join(sys.argv[1:])

    print(convert(title))
Enter fullscreen mode Exit fullscreen mode

以下のコマンドで実行できます。
実行すると変換後の文字が表示されるので、それを記事URLとして使います。

$ python3 main.py "Your Blog's Title"
your-blogs-title

$ python3 main.py Your Blog\'s Title
your-blogs-title
Enter fullscreen mode Exit fullscreen mode

以上これだけです。

ブログ記事のURLを決める

という作業は今後頻繁に行っていく作業なため、早い段階で自動化した方が時間の節約になります。

プログラムとしては単純なものなので、活用していただければ嬉しいです。

この記事で試してみた例

英文をブログURLに適した形式に変換するPythonスクリプト

というブログタイトルを翻訳ツールで翻訳すると、

Python script to convert English text to a format suitable for blog URLs

となりました。
その英文をPythonスクリプトで変換してみると

$ python3 blog_title.py Python script to convert English text to a format suitable for blog URLs
python-script-to-convert-english-text-to-a-format-suitable-for-blog-urls
Enter fullscreen mode Exit fullscreen mode

という感じで変換され、

python-script-to-convert-english-text-to-a-format-suitable-for-blog-urls

という記事URLとして利用できる形式になります。

変換する文字を追加したい場合

上記のPythonコード内の

他に変換したい文字がある場合は、ここに追記していく

と記載されている行へ以下のように追記していきます。

# 他に変換したい文字がある場合は、ここに追記していく
# newTitle = newTitle.replace("変換前の文字", "変換後の文字", -1)
# ダブルクォートを削除する
newTitle = newTitle.replace("\"", "", -1)
Enter fullscreen mode Exit fullscreen mode

参考

Top comments (1)

Collapse
 
aungsoemoe profile image
Aung SoeMoe

参考させて頂きます。ありがとう!