はあなたのような正規表現を使用することができます。次の文字を確実にする
(?=\p{L})
肯定先読みは、発音区別符号なし文字を除外するためのUnicode文字
[^a-zA-Z]
否定文字クラスです。
崇高テキスト(より具体的にか、検索と置換のためにそれを使用していますBoost regex engine)が\p{M}
をサポートしていないので、これが必要です。 \p
メタキャラクターの詳細については、http://www.regular-expressions.info/unicode.htmlを参照してください。
置き換えの場合、残念ながら手動で置き換える文字を指定する必要があります。難しくするために、STはPOSIX character equivalentsをサポートしていないようでも、conditionals in the replacementもサポートしていないため、キャプチャ・グループを使用して1回のパスで検索と置換を行うことができます。
a
と交換
[ÀÁÂÃÄÅ]
A
と
[àáâãäå]
と交換してください:
したがって、次のような複数見つけるの式が使用する必要があります
など
多くの手作業です。
Aはるかに簡単/迅速/以下、手動作業のアプローチではなく、正規表現のPythonのAPIを使用することです:
- ツール]メニュー - >開発 - >新しいプラグイン
貼り付けそれ保存
import sublime
import sublime_plugin
import unicodedata
class RemoveNonAsciiCharsCommand(sublime_plugin.TextCommand):
def run(self, edit):
entire_view = sublime.Region(0, self.view.size())
ascii_only = unicodedata.normalize('NFKD', self.view.substr(entire_view)).encode('ascii', 'ignore').decode('utf-8')
self.view.replace(edit, entire_view, ascii_only)
を(あなたのPackages/User
フォルダになります)STが推奨するフォルダ内に、ように、次の中remove_non_ascii_chars.py
ようmething(ファイル拡張子は重要であり、ベース名ではない)
- [表示]メニュー - >ショーコンソール
view.run_command('remove_non_ascii_chars')
でタイプ/ペーストとを押すと、発音区別符号は(文字を削除されています
- を入力します。アクセント付きのものはアクセントのないものに変換されます)。
注:上記は実際にも同様に、すべての非ASCII文字を削除します...
さらに読書:およそ
がわかりません正規表現ですが、個人的には、ファイルが何であってもUnicodeサポートを保証します。 – Xufox
それは私には悲しいことではありません。ユニコードのサポートはないので、なぜアクセントで文字を置き換える必要があります。 – Gabriel