特定の形式ではなく、多くの行に分割されたテキストがあります。だから私はline.strip('\n')各行のためにすることにしました。.次に、次のことを考慮して、文の終了マーカーを使用してテキストを文に分割したいと思います。
- ピリオド
.の後に\s(空白)、\S(のような"')が続き、その後に続くピリオド[A-Z]は分割されます - 割れない
[0-9]\.[A-Za-z]ように1.stackoverflow real time solution。
私のプログラムは、\s と [AZ] が続く 1 - ピリオド (.) の半分しか解決しません。以下はコードです:
# -*- coding: utf-8 -*-
import re, sys
source = open(sys.argv[1], 'rb')
dest = open(sys.argv[2], 'wb')
sent = []
for line in source:
line1 = line.strip('\n')
k = re.sub(r'\.\s+([A-Z“])'.decode('utf8'), '.\n\g<1>', line1)
sent.append(k)
for line in sent:
dest.write(''.join(line))
お願い!正規表現をマスターするための最良の方法はどれか知りたいです。ややこしいようです。