NO IMAGE

【Go】文字列のトリミングあれこれ

NO IMAGE

文字列を扱っていて、ある部分文字列(”!”など)をトリミング(切り取り)したいときに使える関数を紹介します。

Contents

strings.Trim: 位置に関係なく対象文字列をトリミング

package mainimport ("fmt""strings")func main() {fmt.Print(strings.Trim("!!!Hello, World???", "!?")) // Hello, World}

strings.TrimLeft/TrimRight: 文字列の左側/右側をトリミング

package mainimport ("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 mainimport ("fmt""strings")func main() {  fmt.Println(strings.TrimLeft("abc-back", "abc-"))// k  fmt.Println(strings.TrimPrefix("abc-back", "abc-")) // back }

strings.TrimSpace: ホワイトスペースをトリミング

package mainimport ("fmt""strings")func main() {fmt.Print(strings.TrimSpace(" Hello, World")) // Hello, World}

参考リンク・書籍

おまけ

Twitterでもエンジニアリング・キャリア形成に役立つ記事をシェアしてます。良かったらフォローお願いします!

NO IMAGE
最新情報をチェックしよう!