Site icon Amelt.net

Python:日本語の句読点をトリガーにして改行コードを挿入する

Amelt

Amelt

This post is also available in: 日本語 (Japanese)

実行環境はWindows、Python2.7です。
Pythonで開発していて、日本語の句読点をトリガーとして改行コードを挿入するサンプルコードをメモ代わりに書いています。
改行コードは Windows/Mac/Linux でそれぞれ異なりますが、Pythonの内部的には 

\n

 として処理されているらしいです。

下記のコードにあるように os.linesep として改行コードを付加すれば、環境に合わせた改行コードを挿入することができ便利です。

あと、Pythonで日本語の文字列は基本的に unicode で処理されているので、サンプルでは unicode で読み込んだと想定した文字列を utf-8 に一度変換して、文字列置換を行っています。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os

# 句読点に、改行コードを追加
text = u"ハロー。ワールド。Pythonで句読点を扱う。"
text = text.encode('utf-8')
text = text.replace("。", "。" + os.linesep)
print text
"""
#以下、出力結果
ハロー。
ワールド。
Pythonで句読点を扱う。
"""