Wie ersetze ich ein Wort in einem String?

8

Ich verwende ein String like:

%Vor%

Ich verwende message.replaceAll("%%NAME", me); wobei me ein String ist. Diese Codezeile funktioniert nicht für mich. Ich habe mich gefragt, was ich falsch mache?

    
Sean 28.09.2011, 01:57
quelle

5 Antworten

16

Code sieht mehr oder weniger OK aus, obwohl es einige Syntaxprobleme geben kann. Hier ist ein funktionierendes Beispiel:

%Vor%     
martyman 28.09.2011, 02:02
quelle
7

Ich würde vorschlagen, die format Methode anstelle von replaceAll in diesem Fall.

UPDATE - Beispiel

%Vor%     
Rachel G. 28.09.2011 02:03
quelle
4
%Vor%

... ändert nicht die 'Nachricht', da Strings (in Java) unveränderlich sind

%Vor%

.. WIRD funktionieren. (Beachten Sie die Neuzuweisung von 'Nachricht')

    
claymore1977 28.09.2011 02:04
quelle
2

Rythm eine Java-Template-Engine, die jetzt mit einer neuen Funktion namens String interpolation mode , was Ihnen erlaubt, etwas zu tun wie:

%Vor%

Der obige Fall zeigt, dass Sie das Argument der Vorlage nach Position übergeben können. Mit Rythm können Sie Argumente auch nach Namen übergeben:

%Vor%

Hinweis Rythm ist sehr schnell, etwa 2 bis 3 mal schneller als String.format und Geschwindigkeit, weil es die Vorlage in Java-Byte-Code kompiliert, die Laufzeitleistung ist sehr nahe an der Concentration mit StringBuilder.

Links:

Gelin Luo 01.07.2012 08:16
quelle
0

Um ein Zeichen durch StringUtil.Replace durch ein anderes Zeichen zu ersetzen, habe ich versucht, zu folgen und es funktioniert gut für mich, mehrere Zeichenfolgenwerte von einer einzigen Zeichenfolge zu ersetzen.

String info="[$ VORNAME $] [$ NACHNAME $] [$ EMAIL $] _ [$ ADRESSE $]";

String ersetzterString = StringUtil.replace (info, neuer String [] {"[$ FIRSTNAME $]", "[$ LASTNAME $]", "[$ EMAIL $]", "[$ ADDRESS $]"}, new String [] {"XYZ", "ABC", "[email protected]", "ABCD"});

Dies ersetzt den String-Wert von info durch den neu bereitgestellten Wert ...

    
Maitrik B Panchal 01.05.2017 09:04
quelle

Tags und Links