文字列の先頭と末尾の空白を削除する方法は?


174

Goで文字列変数の先頭と末尾の空白を削除する効果的な方法はどれですか。


4
オンラインドキュメントは、何が起こっているのかを正確に説明しており、実行可能で編集可能な例があります!
Volker

「ルビーストリップゴラン」で検索できるといいのですが
kangkyu

回答:


264

例えば、

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "\t Hello, World\n "
    fmt.Printf("%d %q\n", len(s), s)
    t := strings.TrimSpace(s)
    fmt.Printf("%d %q\n", len(t), t)
}

出力:

16 "\t Hello, World\n "
12 "Hello, World"

「\ t Hello、\ nWorld \ n」を試してみてください:( ...どのように改行を削除しますか?
KingRider

8
それでも最初と最後はトリミングされますが、途中で改行が削除されるわけではないため、トリミングは行われません。文字列の途中にある改行を削除するには、strings.Replaceなどを使用する必要があります。
Gustavo Poscidonio 2017

33

goで文字列をトリミングする関数がたくさんあります。

そこで見る:トリム

これは、ドキュメントから変更された例で、先頭と末尾の空白を削除しています。

fmt.Printf("[%q]", strings.Trim(" Achtung  ", " "))

2
\ t \ nをトリミングする方法は?fmt.Printf("%q", strings.Trim("\t\t\t\t", `! \t`))機能していません
tom10271

5
@aokaddaoc試しましたstrings.TrimSpace(str)か?
アーメドT.アリ


7

文字列をトリミングするために、Goの「strings」パッケージにはTrimSpace()Trim()先頭と末尾のスペースを削除する関数があります。

詳細については、ドキュメントを確認してください。


0

@Kabeerが言及したように、TrimSpaceを使用できます。これはgolangドキュメントの例です。

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace(" \t\n Hello, Gophers \n\t\r\n"))
}

0

@peterSOは正解です。ここにさらに例を追加します。

package main

import (
    "fmt"
    strings "strings"
)

func main() { 
    test := "\t pdftk 2.0.2  \n"
    result := strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r pdftk 2.0.2 \n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r\n\r pdftk 2.0.2 \n\r\n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\r pdftk 2.0.2 \r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))   
}

Go lang playgroundでもこれを見つけることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.