すべての特殊/アクセント付き文字/文字(Â
/Ô
など)を自動的に検索して、同等の通常の文字/文字(A
)に置き換える方法を見つけようとしています。/O
)(Notepad ++)。
ToolFxを使用してみましたが、機能しませんでした。
上記の提案は優れていますが、Notepad ++と "Notepad ++ Python Script"の間の問題のため、現時点では機能しません。数か月後、Notepad ++プラグインマネージャーは、エディターで動作しない古いPythonスクリプトバージョンをダウンロードします。これを修正するには:
ほぼ完了です。プラグイン=> Pythonスクリプト=>コンソールメニューの表示に移動します。 Notepad ++の下部にペインが表示されます。 [〜#〜] must [〜#〜]は、次のようなプロンプトを表示します。
_Python 2.7.6-notepad++ r2 (default, Apr 21 2014, 19:26:54) [MSC v.1600 32 bit (Intel)]
Initialisation took 156ms
Ready.
_
さまざまなバージョン番号は現在のものですが、もちろん時間の経過とともに変更されます。下部のペインに、例外が発生したことを示す例外が表示されるか、(および)空白のままである場合は、間違ったPythonプラグインバージョンがインストールされています。
それでは、スクリプトを正しい方法で適用しましょう。
from Npp import *
_と入力し、Enterキーを押します(これからは、コマンドの最後で常にEnterキーを押すと想定します)。import unicodedata
_と入力します。Pythonプロンプトに次のコマンドを一度に1行ずつ入力し、各行の後でEnterキーを押します。
_eText = editor.getText()
uText = unicode(eText, "UTF-8")
nText = unicodedata.normalize( "NFKD", uText )
_
Python "本当にテキストを入力した":eText = editor.getText()
(+ Enterキー)を入力した後、次のように入力します:_print eText
_ + Enter。アクセント付きのテキストがPythonコンソールの出力ペインにダンプされているのがわかります。
editor.addText( nText.encode('ASCII', 'ignore') )
と入力します。あなたが見ているものによって利用可能であると制限されないでください。 pythonはN ++内から利用できます。つまり、すばやくSO検索[python] [unicode] remove accents
明らかに この非常に投票された質問 まさにそれを扱っています!
N ++で簡単にテストして、どのように機能するかを確認できます。
Pythonスクリプトコンソールを開き、次のコマンドを試してください::
nppインポートから*
unicodedataをインポートする
<<ビュー1のタブを選択します。>>
eText = editor.getText()<<ビュー2のタブを選択します。>>
uText = unicode(eText、 "UTF-8")
nText = unicodedata.normalize( "NFKD"、uText)
editor.addText(nText.encode( 'ASCII'、 'ignore'))
少し見回すと、アクセントを削除する方法はたくさんあるようですが、問題はどちらが最適かということです。そして今、あなたはあなたのテキストでこれらの解決策を「試す」ことがいかに簡単であるかを見ることができるので、先に進んでそれを試してみてください。特定のメソッドが気に入ったら、(プラグインメニューを使用して)スクリプトとして追加すると、必要なときにいつでもそこに表示されます。
楽しんで!
ところで-Pythonスクリプトがインストールされていない場合は、プラグイン->プラグインマネージャーを使用してインストールできます。
first および second の回答からのスクリプトのバリエーションを次に示します。これを使用して、選択したテキストを変換するためのショートカットキーを割り当てることができます。
class convert_char01:
import unicodedata
eText = editor.getSelText()
uText = unicode(eText, encoding='utf-8', errors='ignore')
nText = unicodedata.normalize( "NFKD", uText )
editor.replaceSel(nText)
スクリプトを実行するためのショートカットキーを作成する方法は次のとおりです。
これで、文字列が強調表示されたら、その画面の文字をすばやく変換して、コンソールを使用せずにスクリプトを実行できます。