条件付き検索と置き換えが必要な場合は、10MBを超える大きなテキストファイルがあります。 "a"の後の文字が "r"または "m"または "n"または "u"の場合、ファイル内の "a"のすべてのインスタンスを "ā"に置き換えます。例えばファイル内の条件付き検索と置換Python
: 入力ファイル
Hamro sano ghar holata.
出力ファイル
Hāmro sāno ghār holata.
EDIT
みんなありがとう、うまく動作するようです。しかし、インド語スクリプトのような非ラテン文字で動作していないよう:ラテン文字用 ワーキングスクリプト:(デーヴァナーガリー用)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import re
input = "Hamro sano ghar holata."
regex = re.compile(ur'a([rmnu])')
print regex.sub(ur'ā\1', input)
SCRIPT1は
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import re
input ="संगम"
regex = re.compile(ur'ं([कखगघ])')
print regex.sub(r'ङ्\1', input)
スクリプト2(追加Unicodeのものを動作していません)
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import re
input =u"संगम"
regex = re.compile(ur'ं([कखगघ])', re.UNICODE)
print regex.sub(r'ङ्\1', input)
の予想される出力を動作していない:ंंそのすなわち、次のようगसङ्गम
ङ्に置き換えます
Hmm。私はあなたがユニコードとしてファイルを読むことに問題があると思う。私はいくつかのUnicode情報で私の答えを更新しました。 – steveha
いいえ、実際にあなたの主な問題は、最後の行に「u」が見つからないということです...しかし、あなたがDevanāgarīで働いている場合は、私の更新された答えを参照してください。 – simon
user537488、あなたがそれを稼働させるときに答えの1つを受け入れることを忘れないでください。私はサイモンの答えは受け入れるのが最良だと思う。 – steveha