2016-04-12 8 views
0

Beispiel:Ersetzen mehr Teilstrings aus einem String in Java/Android

String originalString = "This is just a string folks"; 

I (oder ersetzen sie durch "") entfernen möge: 1. "This is" , 2. "folks" gewünschte Ausgabe:

finalString = "just a string"; 

Für eine Sohle Teilstring ist einfach, wir können einfach replace/replaceAll verwenden. Ich weiß auch, dass es für verschiedene numerische Werte funktioniert replace("[0-9]","") Aber kann das für Charaktere getan werden?

Antwort

3

Sie können wie unten eine Funktion erstellen:

String replaceMultiple (String baseString, String ... replaceParts) { 
    for (String s : replaceParts) { 
     baseString = baseString.replaceAll(s, ""); 
    } 
    return baseString; 
} 

Und nennen Sie es mögen:

String finalString = replaceMultiple("This is just a string folks", "This is", "folks"); 

Sie können mehrere Zeichenfolgen übergeben, die nach dem ersten Parameter ersetzt werden.

+0

Danke. Glauben Sie, dass es für diese Aufgabe vielleicht eine Lösung über 'Patterns' gibt? – BVtp

+0

Da Ihr Muster ist ein bisschen vage, möglicherweise nicht. Sie können Regex passieren, um dies zu tun, aber Sie müssen vorsichtig mit Ihrem Muster sein – Draken

+0

Danke. letzte Frage, wenn ich zum Beispiel das Wort "Notbe" habe. und ich möchte alle "nicht" Präfix entfernen, so dass "Notbe" würde "sein". Hast du eine Idee, wie das erreicht werden kann? – BVtp

0

Es funktioniert wie folgt:

String originalString = "This is just a string folks"; 
originalString = originalString.replace("This is", ""); 
originalString = originalString.replace("folks", ""); 
//originalString is now finalString 
+0

Nun, diese Lösung ist ziemlich offensichtlich. Meine Frage Ist, ob es einen effizienteren oder "eleganteren" Weg gibt? Ursache Ich habe viele Teilstrings zu decken, und ich möchte in Zukunft einfach mehr hinzufügen können. – BVtp

+0

ah Entschuldigung ... Ja sicher ... aber ich weiß nicht, wie es in Ihrem Fall funktionieren würde. Verwenden Sie replaceAll ("[A-Za-z]", "") –

+0

Sie können immer eine Enumeration aller Teilstrings erstellen, die Sie ersetzen möchten, und können weitere hinzufügen, falls Sie in Zukunft eine größere Skalierung benötigen. – JammuPapa

Verwandte Themen