3

特定の形式ではなく、多くの行に分割されたテキストがあります。だから私はline.strip('\n')各行のためにすることにしました。.次に、次のことを考慮して、文の終了マーカーを使用してテキストを文に分割したいと思います。

  1. ピリオド.の後に\s(空白)、\S(のような" ')が続き、その後に続くピリオド[A-Z]は分割されます
  2. 割れない[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))

お願い!正規表現をマスターするための最良の方法はどれか知りたいです。ややこしいようです。

4

1 に答える 1