用java替换latex或bibtex工具生成的德国UMLAUT?

用java替换latex或bibtex工具生成的德国UMLAUT?,java,bibtex,Java,Bibtex,我想替换Citavi Bibtex导出工具生成的德国umlauts。例如,一个引用字符串输入是J{“o}rg,我希望结果是Jörg。在检查我的JUnit测试后,我的方法的结果是J{“o}rg-出了什么问题 public String replaceBibtexMutatedVowels(String str){ CharSequence target = "{\\\"o}"; CharSequence replacement = "ö"; str.replace(targ

我想替换Citavi Bibtex导出工具生成的德国umlauts。例如,一个引用字符串输入是
J{“o}rg
,我希望结果是
Jörg
。在检查我的JUnit测试后,我的方法的结果是
J{“o}rg
-出了什么问题

public String replaceBibtexMutatedVowels(String str){
    CharSequence target = "{\\\"o}";
    CharSequence replacement = "ö";
    str.replace(target, replacement);
    return str;
}
更新:谢谢大家-我能够掌握德语umlauts-不幸的是,Bibtex用
{\dg}
-漏掉了引号-我无法创建相应的java代码

    String afterDg = "";
    CharSequence targetDg = "{\\dg}";
    CharSequence replacementDg = "\"";
    afterDg = afterAe.replace(targetDg, replacementDg);
    newStringInstance = afterDg;
    return newStringInstance;

基本上,你做得很好,但是:

 str.replace(target, replacement);
必须替换为

 str = str.replace(target, replacement);
因为replace不会更改字符串本身,而是返回一个“替换的字符串”

附言:德语比“ö”有更多的特殊字符;您缺少“ä”、“ü”(及其对应的大写字母)、“ß”等

下面是我的测试代码:

package test;

public class Test {

    public static void main(String[] args) throws Exception {
        String latexText = "J{\\\"o}rg";
        String normalText = replaceBibtexMutatedVowels(latexText);
        System.out.println(latexText);
        System.out.println(normalText);
    }

    public static String replaceBibtexMutatedVowels(String str) {
        CharSequence target = "{\\\"o}";
        CharSequence replacement = "ö";
        str = str.replace(target, replacement);
        return str;
    }

}

基本上,你做得很好,但是:

 str.replace(target, replacement);
必须替换为

 str = str.replace(target, replacement);
因为replace不会更改字符串本身,而是返回一个“替换的字符串”

附言:德语比“ö”有更多的特殊字符;您缺少“ä”、“ü”(及其对应的大写字母)、“ß”等

下面是我的测试代码:

package test;

public class Test {

    public static void main(String[] args) throws Exception {
        String latexText = "J{\\\"o}rg";
        String normalText = replaceBibtexMutatedVowels(latexText);
        System.out.println(latexText);
        System.out.println(normalText);
    }

    public static String replaceBibtexMutatedVowels(String str) {
        CharSequence target = "{\\\"o}";
        CharSequence replacement = "ö";
        str = str.replace(target, replacement);
        return str;
    }

}

伟大的adivce-不幸的是,如果出现bibtex引号,要完成它还有另一个问题。你是说text=“\”`Some quote\'\'\”?伟大的adivce-不幸的是,如果出现bibtex引号,要完成它还有另一个问题。你是说text=“\”`Some quote\'\”之类的东西吗?