2017-11-09 8 views
1
m ='. Kansas City has a population of 475378. Local time in Kansas City is CST.' 
d = re.sub('..*?.', '', m) 
print(d) 

私は2つの期間の間に行を削除しようとしています。それは私には同じ出力を与えるどのように私はそれを修正することはできますか?from re

+1

期待される出力は? – Kirill

答えて

1

ドットをバックスラッシュでエスケープする必要があります。これは任意の文字を意味します。 。*の代わりに負の文字クラスを使う方が良いでしょうか?あなたが本当に求めていることをしているので、「すべての/すべての非点」:

[^.]* 

あなたが求めているものの例です。

import re 

m ='. Kansas City has a population of 475378. Local time in Kansas City is CST.' 
d = re.sub('\.[^.]*\.', '', m) 
print(d) 

あなたは、単にこれを行うことができます期間保持する場合:

d = re.sub('\.[^.]*\.', '..', m) 

http://regex101.com/をお持ちしたい正確にどのようにそれを微調整するために、あなたの正規表現で遊ぶには本当に良いサイトですそれは働く。がんばろう!