文字列を扱っていて、ある部分文字列(”!”など)をトリミング(切り取り)したいときに使える関数を紹介します。
Contents
strings.Trim: 位置に関係なく対象文字列をトリミング
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Print(strings.Trim("!!!Hello, World???", "!?")) // Hello, World
}
strings.TrimLeft/TrimRight: 文字列の左側/右側をトリミング
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Print(strings.TrimLeft("!!!Hello, World???", "!?")) // Hello, World???
fmt.Print(strings.TrimLeft("???Hello, World!!!", "!?")) // Hello, World!!!
fmt.Print(strings.TrimRight("!!!Hello, World???", "!?")) // !!!Hello, World
fmt.Print(strings.TrimRight("???Hello, World!!!", "!?")) // ???Hello, World
}
strings.TrimPrefix/TrimSuffix: プレフィックス/サフィックスをトリミング
TrimLeft/TrimRightとの違いが少しややこしいですが、例えば以下のような挙動の違いがあります。(コードのアイデアはこちらよりいただきました)
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.TrimLeft("abc-back", "abc-")) // k
fmt.Println(strings.TrimPrefix("abc-back", "abc-")) // back
}
strings.TrimSpace: ホワイトスペースをトリミング
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Print(strings.TrimSpace(" Hello, World")) // Hello, World
}
参考リンク・書籍
おまけ
Twitterでもエンジニアリング・キャリア形成に役立つ記事をシェアしてます。良かったらフォローお願いします!
返信がありません