2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Trim関数とは?

stringsパッケージのTrimLeftTrimPrefixなどのTrimXXXとなる関数のこと。

特に、TrimRight と Trimsuffixを混同してしまいがちなので、解説していきます。

TrimRight

TrimRightは、末尾の文字が、第二引数に指定したルーンの集合に当てはまったら、その文字を削除します。

fmt.Println(strings.TrimRight("123oxo", "xo")) // 123

123oになりそうですが、oはxoの一部なので、削除されて123となります。

TrimSuffix

TrimSuffixは、与えられた接尾辞の文字列を末尾から取り除いた値を返します。

fmt.Println(strings.TrimSuffix("123oxo", "xo")) // 123o

TrimLeft

TrimRightと同様に、頭の文字が、第二引数に指定したルーンの集合に当てはまったら、その文字を削除します。

fmt.Println(strings.TrimLeft("xoxxo123", "xo")) // 123

TrimPrefix

TrimPrefixは、与えられた接頭辞の文字列を末尾から取り除いた値を返します。

fmt.Println(strings.TrimPrefix("xoxxo123", "xo")) // xxo123

Trim

Trimは、全ての文字列から第二引数に指定したルーンの集合に当てはまったら、その文字を削除します。

fmt. Println (strings. Trim ("oxo123oxo", "ox")) // 123

TrimFunc

Trimは、全ての文字列から第二引数に指定したカスタム関数に当てはまったら、その文字を削除します。

customFunc := func(c rune) bool {
    return strings.ContainsRune("xo", c)
}

fmt.Println(strings.TrimFunc("xoxox123xoxox", customFunc)) // 123

TrimLeftFunc

頭の文字が、カスタム関数の返すルーンの集合に当てはまったら、その文字を削除します。

customFunc := func(c rune) bool {
    return strings.ContainsRune("xo", c)
}

fmt.Println(strings.TrimLeft("xoxox123xoxox", customFunc)) // 123xoxox

TrimRightFunc

最後の文字が、カスタム関数の返すルーンの集合に当てはまったら、その文字を削除します。

customFunc := func(c rune) bool {
    return strings.ContainsRune("xo", c)
}

fmt.Println(strings.TrimRight("xoxo123xoxox", customFunc)) // xoxo123

TrimSpace

最初と末尾のスペースを全て削除します。

fmt.Println(strings.TrimSpace("   123   ")) // 123

スライド

参考文献

  1. Japanese Version - 100 Go Mistakes and How to Avoid Them
  2. 【Go】strings パッケージ関数まとめ
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?