Golang の文字列から重複したスペースと空白を削除する
Golang で文字列から先頭/末尾の空白と冗長なスペースの両方を削除するには、次のようにします。
strings.TrimSpace() 関数は、先頭と末尾の空白を削除します。改行文字と null 文字。
trimmedString := strings.TrimSpace(originalString)
冗長スペースを削除するには、strings.Fields を使用できます。 ()。この関数は文字列を空白文字で分割し、部分文字列のスライスを生成します。
formattedString := strings.Join(strings.Fields(originalString), " ")
インターナショナル スペース文字の処理:
インターナショナル スペース文字を処理するには、次のことができます。ユニコードサポートを使用します。次のコードは、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 中国語 Web サイトの他の関連記事を参照してください。