LoginSignup
44
21

More than 5 years have passed since last update.

Goで文字列の置き換えをする(strings packageのReplace)

Posted at

Goで文字列の置き換えをする(strings packageのReplace)

Goで文字列の置き換えをする際には、strings.Replace を使用する。

使い方

置き換える全体の文字列、置き換え前の部分文字列、置き換え後の部分文字列、置き換えを行う部分文字列の数を指定して置き換えを行う。

関数のシグネチャは以下
func Replace(s, old, new string, n int) string
引用元: strings - The Go Programming Language

第1引数:置き換えされる全体の文字列
第2引数:第1引数の全体の文字列の中で、置き換えされる部分文字列
第3引数:第2引数を置き換え後の部分文字列
第4引数:置き換えを行う部分文字列の数

なお、第4引数を-1にすると第1引数内の全ての第2引数で指定した部分文字列を第3引数で指定した部分文字列に置き換える。

 実際に使ってみた

コード

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "Go Java JavaScript Typescript CofeeScript"
    // 普通に表示
    fmt.Printf("str : %s\n", str)

    // 最初の"Java"という文字列だけ置き換え
    replaced1 := strings.Replace(str, "Java", "Replaced", 1)
    fmt.Printf("replaced1 : %s\n", replaced1)

    // 全部のJavaを置き換え
    replaced2 := strings.Replace(str, "Java", "Replaced", -1)
    fmt.Printf("replaced2 : %s\n", replaced2)

    // 全部のScriptを置き換え
    // Typescriptの"script"は小文字のため、変更されない
    replaced3 := strings.Replace(str, "Script", "Replaced", -1)
    fmt.Printf("replaced3 : %s\n", replaced3)

}

実行結果

str : Go Java JavaScript Typescript CofeeScript
replaced1 : Go Replaced JavaScript Typescript CofeeScript
replaced2 : Go Replaced ReplacedScript Typescript CofeeScript
replaced3 : Go Java JavaReplaced Typescript CofeeReplaced

参考にさせていただいたサイト

strings - The Go Programming Language

44
21
2

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
44
21