1

次のような一致文字列が必要です:

what.are you doing?

ドットの後ろに文字が あり、「。」を置き換える場合に一致します。と "。 "

のような結果:
what. are you doing?

より多くの例

入力

uh....i don't know

出力

uh.... i don't know

入力

do you know....that thing?

出力

do you know.... that thing?
4

2 に答える 2

7

これはあなたのケースに合うはずです:

re.sub(r'(?<=\S)\.(?=\w)', '. ', s)

(?<=...)これは、ドットの前にスペース以外の文字があるかどうかをチェックする肯定的な後読みアサーションを使用します\S。肯定の後読みアサーション(?=\w)は、ドットの後に英数字が続くかどうかをチェックします。

于 2013-04-28T13:56:41.547 に答える
0

私はこれでかなり遅れています。ただし、別のオプションを共有したかった:

re.sub(r'\.(\w)', '. \\1', s)

Explanation:
\.(\w)
|   |
|   ----> catch an alphabet letter in group '()' which is referenced later in replacement by \\1 (because it's 1st caught group)
escape '.'

それが役に立てば幸い :)

于 2016-07-18T06:03:27.377 に答える