Datentypen Sonderzeichen / Strings ersetzen

Agassiz

Mitglied
Hi, hier meine Funktion mit der ich strings ersetze:
Java:
  public static String myReplace(String str) {
        String[] search = {
            "(?i)&(quot);", 
            "(?i)/"/",
            "(?i)&",
            "(?i)<",
            "(?i)>",
            "(?i) ",
            "&a(?i)uml;", 
            "&o(?i)uml;",
            "&u(?i)uml;",
            "&A(?i)uml;",
            "&O(?i)uml;",
            "&U(?i)uml;",
            "ß",
            "/´/",
            "/„/",
            "/“/",
            "/Eintragungen;/",
            "/é/",
            "/Extras;/",
            "/–/",
            "/è/",
            "/⊃2;/",
            "<br />",
            "\"",
            "„",
            "“"};

        String[] replace = {
            "\"",
            "\"",
            "&",
            "<",
            ">",
            " ",
            "ä",
            "ö",
            "ü",
            "Ä",
            "Ö",
            "Ü",
            "ß",
            "á",
            "\"",
            "\"",
            "Eintragungen",
            "é",
            "Extras",
            "-",
            "ê",
            "²",
            "<br>",
            "'",
            "",
            ""};


        for (int i = 0; i < search.length; i++) {
            System.out.println(str);
            str = str.replaceAll(search[i], replace[i]);
        }



        return str;
    }

Die jeweils beiden letzten Einträge in den Arrays -> "„","“" und "",""

habe ich neu hinzugefügt. Vorher lief alles bestens und alle zeichen wurden ersetzt.
Jedoch bekomme ich nun die Fehlermeldung: Dangling meta character.

Ich kann damit leider nichts anfangen.

was läuft bei mir schief?

thx
 
steht da nicht mehr in der Fehlermeldung, welches Zeichen?
bei mir gibts mit deinem Code keine Fehlermeldung,
ein möglicher 'Dangling meta character' wäre ein Fragezeichen, wie man das doch ersetzen kann siehe Code:
Java:
public class Test {
    public static void main(String[] args) {
        System.out.println(myReplace("„x?\\“"));
    }

    static String myReplace(String str) {
        String[] search = {"<br />", "\"", "„", "“", "\\?"};
        String[] replace = {"<br>", "'", "", "", "f"};

        for (int i = 0; i < search.length; i++) {
            System.out.println(str);
            str = str.replaceAll(search[i], replace[i]);
        }
        return str;
    }
}

edit zur unteren Antwort: ich habe UTF-8
 
Zuletzt bearbeitet von einem Moderator:
Hast du den Quellcode auf UTF-8 gestellt? Vielleicht ist es ein Problem der Darstellung dieser schrägen Anführungszeichen.
 
mit utf-8 als zeichenkodierung fürs projekt hatte ich probleme mit umlauten,

habs jetz auf ISO 8859 15 - damit klappt alles. man man was nen blöder fehler. danke für den hinweis 🙂
 

Zurück
Oben