erstes Vorkommen eines Chars aus einem String entfernen

Diskutiere erstes Vorkommen eines Chars aus einem String entfernen im Java Basics - Anfänger-Themen Bereich.
J

JavaKev

Hallo liebe Community, ich soll folgende Aufgabe lösen:
Schreiben Sie eine Methode public static String entferne(String s, char c), die das erste Vorkommen des Characters c im String s entfernt und den Reststring zurückgibt. Wenn c nicht in s vorkommt, wird s zurückgegeben.
Nun habe ich folgende Methode dazu geschrieben:
Java:
public static String entferne(String s, char c) {
        for (int i = 0; i <= s.length()-1; i++) {
            if (s.charAt(i) == c) {
                s = s.replace(c, ' ');
            }
        }
        return s;
}
ich habe nun das Problem, dass zwar der char entfernt wird, aber nicht das erste Vorkommen, sondern jeder char in diesem String. Mit replaceFirst funktioniert es ja nicht, weil dafür zwei Strings und kein char erwartet wird. Habt ihr vielleicht noch einen Verbesserungsvorschlag?
 
Tarrew

Tarrew

Mit replaceFirst funktioniert es ja nicht, weil dafür zwei Strings und kein char erwartet wird. Habt ihr vielleicht noch einen Verbesserungsvorschlag?
Du kannst deinen String auch entsprechend umwandeln:
#Edit, ouh ja guter Hinweis, fast verpennt mit dem Regex, habs mal angepasst ;)
Java:
    public static String entferne(String s, char c) {
        return s.replaceFirst(Pattern.quote(String.valueOf(c)), "");
    }
Ich würde aber eher vermuten, dass ihr hier keine Standardmethode nutzen sollst, sondern das selbst implementiert ;)
 
Zuletzt bearbeitet:
H

httpdigest

String.replaceFirst ist gefährlich, da es sich dabei um einen regulären Ausdruck handelt. Wenn das Zeichen z.B. '?' ist, gibt es schon Probleme. Kann man natürlich durch explizites Escaping lösen.
 
Thema: 

erstes Vorkommen eines Chars aus einem String entfernen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben