Der Hauptzweck der von uns im Allgemeinen verwendeten trim()-Methode besteht darin, die führenden und nachfolgenden Leerzeichen einer Zeichenfolge zu entfernen. Nach meiner persönlichen praktischen Erfahrung habe ich jedoch festgestellt, dass die trim()-Methode nur einige Leerzeichen oder Leerzeichen entfernen kann, z. B. Leerzeichen mit halber Breite, während trim() sie nicht entfernen kann. Zu diesem Zeitpunkt müssen Sie also reguläre Ausdrücke verwenden, um führende und nachgestellte Leerzeichen, Leerzeichen, Zeilenumbrüche oder Tabulatorzeichen, Zeilenumbrüche usw. aus der Zeichenfolge zu entfernen:
public static void main(String[] args){ String keyword = " 空格符与制表符等 "; keyword = keyword.replaceAll("^[ *| *| *|//s*]*", "").replaceAll("[ *| *| *|//s*]*$", ""); System.out.println("keyword : "+keyword); }
Es gibt eine weitere Information Ich habe im Internet folgende Erklärung gefunden: Dekompilieren Sie zuerst die trim()-Methode und erhalten Sie:
public string Trim() { return this.TrimHelper(WhitespaceChars, 2); }
Nach dem Dekompilieren der TrimHelper-Methode erhalten wir:
private string TrimHelper(char[] trimChars, int trimType) { int num = this.Length - 1; int startIndex = 0; if (trimType != 1) { startIndex = 0; while (startIndex < this.Length) { int index = 0; char ch = this[startIndex]; index = 0; while (index < trimChars.Length) { if (trimChars[index] == ch) { break; } index++; } if (index == trimChars.Length) { break; } startIndex++; } } if (trimType != 0) { num = this.Length - 1; while (num >= startIndex) { int num4 = 0; char ch2 = this[num]; num4 = 0; while (num4 < trimChars.Length) { if (trimChars[num4] == ch2) { break; } num4++; } if (num4 == trimChars.Length) { break; } num--; } } int length = (num - startIndex) + 1; if (length == this.Length) { return this; } if (length == 0) { return Empty; } return this.InternalSubString(startIndex, length, false); }
TrimHelper hat zwei Parameter : Ein Parameter, trimChars, ist ein Array von Zeichen, die an beiden Enden der Zeichenfolge gelöscht werden sollen; der zweite Parameter, trimType, ist der Typ, der Trim() identifiziert. Es gibt drei Werte für trimType: Bei der Übergabe von 0 werden die Leerzeichen am Anfang der Zeichenfolge entfernt. Bei der Übergabe von 1 werden die Leerzeichen am Ende der Zeichenfolge entfernt übergeben werden, werden die Leerzeichen an beiden Enden der Zeichenfolge entfernt. Die endgültige Schlussfolgerung lautet: Die String.Trim()-Methode entfernt beide Enden der Zeichenfolge, nicht nur Leerzeichen. Sie kann insgesamt 25 Zeichen entfernen: ('/t', '/n', '/v', ' /f', '/r', ' ', '/x0085', '/x00a0', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '?', '/u2028', '/u2029', ' ', '?').
Es gibt zwei weitere Methoden, die trim() ähneln: TrimStart(), das Leerzeichen am Anfang der Zeichenfolge entfernt, und TrimEnd(), das die Leerzeichen am Ende der Zeichenfolge entfernt.
Wenn Sie Zeichen an beiden Enden der Zeichenfolge entfernen möchten, können Sie die überladene Methode von Trim verwenden: String.Trim(Char[]). Der Quellcode dieser Methode lautet:
public string Trim(params char[] trimChars) { if ((trimChars == null) || (trimChars.Length == 0)) { trimChars = WhitespaceChars; } return this.TrimHelper(trimChars, 2); }
Zu beachten ist: Leerzeichen! = Leerzeichen. Wenn Sie Leerzeichen entfernen möchten, können Sie Trim(' ') verwenden.
[Verwandte Empfehlungen]
1. Detaillierte Erläuterung der Verwendungsbeispiele von Java Trim
2. Detaillierte Erläuterung von String .trim in Java() Methodenbeispiel
3.trim() in js So entfernen Sie Leerzeichen auf beiden Seiten einer Zeichenfolge
4 >trim() in Java)-Funktion, die Leerzeichen und Sonderzeichen vom Anfang und Ende einer Zeichenfolge entfernt
Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für TrimHelper-Methoden in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!