0

在我将工作区编码切换为 UTF-8 并返回(Windows-ISO)后,我所有的(德语)变音符号都转换为 �。

我想用静态引用替换 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

我试图编写一个正则表达式,它应该省略 // 之前带有任何字符的注释,但它没有用。

(背景:该代码的任何文档中都没有定义的字符集,甚至在 VCS 中也没有。我是这个工具的最后一个开发人员,所有其他开发人员都走了。代码是在 Windows 下为 Linux 上的 tomcat 开发的 - AppUsers 有窗户也是)

有人能帮我吗?

干杯,马丁

4

1 回答 1

0

这个如何:

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

在这里,您需要将 gourp 1 (唯一的组)替换为您想要的文本。正则表达式搜索带有“�”的行,前面没有'//'或'*\s'

于 2013-09-13T12:40:52.053 回答