從Golang 中的字串中刪除重複的空格和空格
要從Golang 中的字串中刪除前導/尾隨空格和冗餘空格,您可以利用strings 套件。
strings.TrimSpace() 函數刪除前導和尾隨空格,包括換行符和空字元。
trimmedString := strings.TrimSpace(originalString)
要刪除多餘空格,可以使用 strings.Fields ()。此函數根據空白字元拆分字串,從而產生子字串切片。
formattedString := strings.Join(strings.Fields(originalString), " ")
處理國際空格字符:
要處理國際空格字符,您可以使用 unicode 支援。下列程式碼使用unicode.IsSpace() 函數檢查各種空白字元:
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() }
用法範例:
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() } }
輸出:
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: 你好 世界!
以上是如何在 Golang 中刪除字串中的重複空格和空格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!