Duplizierte Leerzeichen und Leerzeichen aus Zeichenfolgen in Golang entfernen
So entfernen Sie sowohl führende/nachgestellte Leerzeichen als auch redundante Leerzeichen aus einer Zeichenfolge in Golang kann das Strings-Paket verwenden.
Die Funktion strings.TrimSpace() entfernt führende und nachgestellte Leerzeichen, einschließlich Zeilenumbrüche und Nullzeichen.
trimmedString := strings.TrimSpace(originalString)
Um redundante Leerzeichen zu entfernen, können Sie strings.Fields verwenden (). Diese Funktion teilt eine Zeichenfolge in Leerzeichen auf, was zu einem Teil von Teilzeichenfolgen führt.
formattedString := strings.Join(strings.Fields(originalString), " ")
Umgang mit internationalen Leerzeichen:
Um mit internationalen Leerzeichen umzugehen, können Sie Folgendes tun Verwenden Sie Unicode-Unterstützung. Der folgende Code verwendet die Funktion unicode.IsSpace(), um nach verschiedenen Leerzeichen zu suchen:
func standardizeSpacesUnicode(s string) string { var buffer bytes.Buffer for _, r := range s { if unicode.IsSpace(r) { if buffer.Len() == 0 || buffer.Bytes()[buffer.Len()-1] != ' ' { buffer.WriteRune(r) } } else { buffer.WriteRune(r) } } return buffer.String() }
Beispielverwendung:
package main import ( "fmt" "strings" ) func main() { tests := []string{ " Hello, World ! ", " Hello,\tWorld ! ", " \t\n\t Hello,\tWorld\n!\n\t", "你好,世界!", // Unicode test } for _, test := range tests { trimmed := strings.TrimSpace(test) formatted := strings.Join(strings.Fields(test), " ") standardizedUnicode := standardizeSpacesUnicode(test) fmt.Println("Original:", test) fmt.Println("Trimmed:", trimmed) fmt.Println("Formatted:", formatted) fmt.Println("Standardized Unicode:", standardizedUnicode) fmt.Println() } }
Ausgabe:
Original: Hello, World ! Trimmed: Hello, World ! Formatted: Hello World ! Standardized Unicode: Hello World ! Original: Hello,\tWorld ! Trimmed: Hello, World ! Formatted: Hello World ! Standardized Unicode: Hello World ! Original: \t\n\t Hello,\tWorld\n!\n\t Trimmed: Hello, World! Formatted: Hello World! Standardized Unicode: Hello World! Original: 你好,世界! Trimmed: 你好,世界! Formatted: 你好 世界! Standardized Unicode: 你好 世界!
Das obige ist der detaillierte Inhalt vonWie entferne ich doppelte Leerzeichen und Leerzeichen aus Zeichenfolgen in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!