0

ワークスペースのエンコーディングを UTF-8 に切り替えて戻し (Windows-ISO)、すべての (ドイツ語の) ウムラウトが � に変換されました。

すべての � by Eclipse Find/Replace を静的参照に置き換えたい。

public interface StringConstants {
    public static final String ae = "\u00E4";
    public static final String oe = "\u00F6";
    public static final String ue = "\u00FC";
    public static final String AE = "\u00C4";
    public static final String OE = "\u00D6";
    public static final String UE = "\u00DC";
    public static final String ss = "\u00DF";
}

誰も気にしないので、すべてのコメントを置き換えたくありません...

今まで私はそれを行うことができました

Find: ^[^//](.*?)(�)+

Replacement: $1" + StringConstants.ue + "

CVS コメントを省略します。

// �ber

ただし、前に空白やコードがあるコメント、およびブロックコメントでは機能しません。例えば:

doSomething(); // blabla �ber // <-- should be omitted
/** 
 * �ber // <-- should be omitted
 */
\t// �ber // <-- should be omitted
log.debug("�ber"); // <-- should be replaced

前に任意の文字を含む // コメントを省略する正規表現を作成しようとしましたが、機能しませんでした。

(背景: そのコードのドキュメントには定義された Charset はなく、VCS にもありません。私はこのツールの最後の開発者であり、他のすべての開発者は亡くなっています。コードは Linux 上の tomcat 用の Windows で開発されています - AppUsers は窓も)

誰かが私を助けることができますか?

乾杯、マーティン

4

1 に答える 1

0

これはどうですか:

^(?:(?!//|(?:\*\s)).)*(�)+.*

ここで、グループ 1 (唯一のグループ) を必要なテキストに置き換える必要があります。正規表現は、「�」の前に「//」または「*\s」がない行を検索します。

于 2013-09-13T12:40:52.053 に答える