特定の形式ではなく、多くの行に分割されたテキストがあります。だから私は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))
お願い!正規表現をマスターするための最良の方法はどれか知りたいです。ややこしいようです。