Wort in String ersetzen

Lanzettlich

Mitglied
Hallo!

Im bestimmte Buchstaben oder Wörter in String zu ersetzen kann man ja replace("Hallo", "") verwenden.
Wie ersetze ich aber in einem String das Wort "Hallo", egal, welche Buchstaben von "Hallo" klein oder groß geschrieben sind?
 
Tue einfach, was
Code:
replaceAll()
(laut API) intern selbst macht und passe es für Dich an:
Java:
Pattern.compile("HaLlO", Pattern.CASEINSENSITIVE).matcher(str).replaceAll("good bye");
bye
TT
 
Hallo und danke für eure Antworten!

Ich habe das mit beiden Möglichkeiten probiert, es geht aber beides nicht.
Mein Code:
Java:
String word = "Hallo";
String string = "hallo";

Pattern.compile(word, Pattern.CASE_INSENSITIVE).matcher(string).replaceAll("");

Doch dieser Code geht leider nicht.
Wenn ich das richtig verstehe:
Im String string sollte nach "hallo" gesucht und dann mit "" ersetzt werden, was aber leider nicht funktioniert. Entdeckt ihr einen Fehler?
 
Funktioniert leider so noch immer nicht:
Java:
String s = Pattern.compile(wortDasErsetztWerdenSoll, Pattern.CASE_INSENSITIVE).matcher(stringDerDasWortEnthaelt).replaceAll(hiermitSollDasWortErsetztWerden);
System.out.println(s);
 
In meinem Code wird es dann schon ausgegeben, ich habe in meinem Forenpost lediglich gepostet, welchen Code ich verwende.
Dann hast Du vielleicht die falschen Erwartungen und/oder kannst Deine Logausgabe (wenn man System.out.println() so bezeichnen will) nicht interpretieren:
Java:
@Test
	public void testReplacePattern() throws Exception {
		String word = "Hallo";
		String string = "hallo";

		Assert.assertEquals(word + " in " + string + " replaced by nothing",
				"",
				Pattern.compile(word, Pattern.CASE_INSENSITIVE).matcher(string)
						.replaceAll(""));
	}
Wir be mir grün.

bye
TT
 
die Gegenrede ist hier teils unnötig heftig, dennoch bleibt zum Aktuellen nur zu erwidern, dass zu unbekannten Code-Ausschnitten nicht viel zu sagen ist,
dabei war es vorher schon recht konkret, nur vollständige Testprogramme haben letztlich im vertracken Widerspruchsfall eine Aussage

Java:
public class Test2 {
    public static void main(String[] args)  {
        String word = "Hallo";
        String string = "hallo";

        String s = Pattern.compile(word, Pattern.CASE_INSENSITIVE).matcher(string).replaceAll("");
        System.out.println("s: " + s);
    }
}
und die Aussage kann hier nur sein: funktioniert alles bestens
 

Neue Themen


Zurück
Oben