首頁 >後端開發 >Golang >如何在 Golang 中刪除字串中的重複空格和空格?

如何在 Golang 中刪除字串中的重複空格和空格?

Barbara Streisand
Barbara Streisand原創
2024-11-15 06:01:02710瀏覽

How to Remove Duplicated Spaces and Whitespace from Strings in Golang?

從Golang 中的字串中刪除重複的空格和空格

要從Golang 中的字串中刪除前導/尾隨空格和冗餘空格,您可以利用strings 套件。

  1. 刪除前導/尾隨空格:

strings.TrimSpace() 函數刪除前導和尾隨空格,包括換行符和空字元。

trimmedString := strings.TrimSpace(originalString)
  1. 刪除多餘空格:

要刪除多餘空格,可以使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn