Bitte implementieren Sie eine Funktion, um Leerzeichen in einer Zeichenfolge durch „%20“ zu ersetzen. Wenn die Zeichenfolge beispielsweise „We Are Happy.“ lautet, lautet die ersetzte Zeichenfolge „We%20Are%20Happy“.
Ersetzen in umgekehrter Reihenfolge, um die Zeitkomplexität zu reduzieren
StringNach der Initialisierung kann es nicht mehr geändert werden.
Die Verwendung von StringBuffer erfolgt aufgrund der Vorlage von Niuke.com.
Im tatsächlichen Gebrauch wird empfohlen, StringBuilder für einzelne Threads zu verwenden, da es sperrenfrei und hocheffizient ist.
Verwenden Sie beim Multithreading StringBuffer.
Die integrierten Funktionen beider sind gleich
Ändern Sie die ursprüngliche Zeichenfolge oder erstellen Sie eine neue Zeichenfolge (wenn es original ist, müssen Sie die Länge setLength() zurücksetzen)
Erwägen Sie nicht die Verwendung der vorhandenen replace()
public static String replaceSpace(StringBuffer str){ int length = str.length(); int spacenum = 0; //统计空格字符个数 for(int i=0;i<length;i++){ if(str.charAt(i) == ' ') spacenum++; } int lengthNew = length + spacenum*2; str.setLength(lengthNew); int index = length-1; int indexNew = lengthNew-1; for(;index>=0;index--){ if(str.charAt(index) == ' '){ str.setCharAt(indexNew--, '0'); str.setCharAt(indexNew--, '2'); str.setCharAt(indexNew--, '%'); } else{ str.setCharAt(indexNew--, str.charAt(index)); } } return str.toString(); }
Okay, das war’s für diesen Artikel, ich freue mich über Ihren Rat. Wenn Sie interessiert sind, lesen Sie bitte die chinesische PHP-Website Online-Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonJava implementiert Ideen und Codes zum Ersetzen von Leerzeichen in Strings. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!