从 Golang 中的字符串中删除重复的空格和空格
要从 Golang 中的字符串中删除前导/尾随空格和冗余空格,您可以可以利用字符串package.
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中文网其他相关文章!