ホームページ  >  記事  >  バックエンド開発  >  golang は r n を置き換えます

golang は r n を置き換えます

PHPz
PHPzオリジナル
2023-05-14 16:03:37548ブラウズ

Golang は、多くのプログラマーや企業によって広く使用されているオープンソース プログラミング言語です。 Golang コードを記述するときは、文字列操作を使用する必要がよくあります。一般的な操作の 1 つは、文字列内の特定の文字を置換することです (replace や
など)。この記事では、Golang を使用して置換と
メソッドを実装する方法を紹介します。

Golang 文字列

Golang では、文字列は一連の文字で構成され、各文字は UTF-8 エンコーディングで表されます。文字列は二重引用符を使用してリテラルとして定義できます。例:

var str string = "Hello, world!"

文字列では、バックスラッシュと特定の文字を使用して特殊文字を表すことができます。たとえば:

  • : 水平タブ文字 (TAB) ## を表します。
  • #: キャリッジ リターン (CR) を表します
  • : ライン フィード (LF) を表します
したがって、Golang では、文字列に と

文字が含まれている場合、次のようにすることができます。置換操作を使用して、他の文字に置き換えたり、削除したりできます。以下では、この操作を実現する 2 つの方法を紹介します。

方法 1: strings.Replace()

Golang の標準ライブラリ文字列には、文字列内の部分文字列を置換するために使用できる Replace() 関数が用意されています。この関数の宣言は次のとおりです。

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

このうち、sは演算対象の文字列、oldは置換対象の部分文字列、newは置換対象の部分文字列、nは置換回数です。 、n が 0 未満の場合、一致するすべての部分文字列を置き換えます。

以下はサンプル コードです:

package main

import (
    "fmt"
    "strings"
)

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

上記のコードでは、文字列パッケージを導入し、文字列内で ReplaceAll() 関数を呼び出して合計を計算しました。

空の文字列に置き換えられました。 。最終的な出力結果は次のとおりです。

Helloworld

方法 2: 正規表現

文字列の Replace() 関数を使用することに加えて、正規表現を使用して置換操作を実装することもできます。 Golang では、標準ライブラリ regexp が Regexp タイプと、正規表現の一致と操作のためのいくつかの関数を提供します。

以下はサンプル コードです:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    str := "Helloworld
"
    re, _ := regexp.Compile("[
]+")
    newStr := re.ReplaceAllString(str, "")
    fmt.Println(newStr)
}

上記のコードでは、すべてと

に一致する正規表現を作成し、ReplaceAllString() 関数を使用して部分的に一致した文字列を置き換えます。空の文字列に置き換えられます。最終的な出力は上記の例と同じになります。

Helloworld

まとめ

この記事では、Golang 文字列の と

文字を置換するために使用できる 2 つの方法を紹介します。 1 つ目は strings パッケージの Replace() 関数を使用する方法で、2 つ目は regexp パッケージの正規表現を使用する方法です。プログラマーの好みと特定のシナリオのニーズに応じて、両方の方法の結果は同じになります。

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

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