Heim  >  Artikel  >  Java  >  Java implementiert Ideen und Codes zum Ersetzen von Leerzeichen in Strings

Java implementiert Ideen und Codes zum Ersetzen von Leerzeichen in Strings

PHPz
PHPzOriginal
2017-04-23 14:53:412525Durchsuche

Problembeschreibung:

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“.

Die Grundidee des Ersetzens von Leerzeichen in Zeichenfolgen in Java:

Ersetzen in umgekehrter Reihenfolge, um die Zeitkomplexität zu reduzieren

Implementierungsplan:

  • 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

Denken:

  • Ä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()

Java-Code zum Ersetzen von Leerzeichen in Zeichenfolgen:

public static String replaceSpace(StringBuffer str){        
        int length = str.length();        int spacenum = 0;        
        //统计空格字符个数
        for(int i=0;i<length;i++){            if(str.charAt(i) == &#39; &#39;)
                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) == &#39; &#39;){
                str.setCharAt(indexNew--, &#39;0&#39;);
                str.setCharAt(indexNew--, &#39;2&#39;);
                str.setCharAt(indexNew--, &#39;%&#39;);
            }            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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn