ホームページ  >  記事  >  バックエンド開発  >  golangの文字列置換

golangの文字列置換

王林
王林オリジナル
2023-05-27 13:03:371845ブラウズ

Golang の String (文字列) は非常に一般的なデータ型の 1 つであり、文字列を処理する場合、多くの場合、文字列置換メソッドを使用する必要があります。この記事では、golang で文字列置換を実装するいくつかの方法を紹介します。

  1. strings.Replace

strings.Replace は、golang の組み込み文字列置換関数です。その関数プロトタイプは次のとおりです:

func Replace(s, old, new string, n int) string

Parameter説明:

  • s: 置換する必要がある元の文字列を表します;
  • old: 置換する必要がある文字列を表します;
  • new: を表します置換する必要がある新しい文字。文字列;
  • n: 置換の数を示し、-1 はすべての置換を示します。

サンプル コードは次のとおりです。

package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "hello world"
    newStr := strings.Replace(str, "l", "*", -1)
    fmt.Println(newStr) // he**o wor*d
}

strings.Replace は新しい文字列を返し、元の文字列は変更しないことに注意してください。

  1. strings.ReplaceAll

strings.ReplaceAll は、strings.Replace 関数の簡略化されたバージョンであり、その関数プロトタイプは次のとおりです。

func ReplaceAll(s, old, new string) string

strings.Replacer
  1. strings.Replacer は、golang のより柔軟な文字列置換メソッドであり、一度に複数の文字を置換でき、大文字と小文字を区別せずに置き換えます。サンプル コードは次のとおりです。
package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "hello, world"
    newStr := strings.ReplaceAll(str, ",", " ")
    fmt.Println(newStr) // hello  world
}

strings.Replacer は新しい文字列も返し、元の文字列は変更しないことに注意してください。

bytes.Replace
  1. 文字列の置換に strings パッケージを使用することに加えて、バイト配列の置換に bytes.Replace 関数を使用することもできます。 golang の文字列は本質的に読み取り専用の文字シーケンスであるため、処理するには文字列をバイト配列に変換する必要があります。サンプル コードは次のとおりです。
package main

import (
    "fmt"
    "strings"
)

func main() {
    str := "hello, world"
    r := strings.NewReplacer(",", " ", "world", "golang", "l", "L")
    newStr := r.Replace(str)
    fmt.Println(newStr) // hello golang
}

bytes.Replace は新しいバイト シーケンスも返すので、出力用に文字列形式に変換する必要があることに注意してください。

要約すると、golang での文字列置換は、組み込みの string パッケージまたは bytes パッケージの関連関数を使用して実現できます。このうち、strings.Replace、strings.ReplaceAll、strings.Replacer はよく使用される文字列置換メソッドです。

以上がgolangの文字列置換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。