Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggantikan rentetan dalam golang dengan betul dengan "prinsip tamak"?

Bagaimana untuk menggantikan rentetan dalam golang dengan betul dengan "prinsip tamak"?

PHPz
PHPzke hadapan
2024-02-08 20:53:44957semak imbas

Bagaimana untuk menggantikan rentetan dalam golang dengan betul dengan prinsip tamak?

Kandungan soalan

Saya cuba menyekat rentetan, tetapi ada masalah

Kod yang boleh dihasilkan adalah di bawah dan memerlukan semua pasangan lama dan baharu, bagaimana untuk mendapatkan col1 而不是 col0b?

package main

import (
    "fmt"
    "strings"
)

func main() {
    r := strings.NewReplacer("a", "col0", "ab", "col1")
    s := "ab"
    fmt.Println(r.Replace(s))
}

Saya mahu rentetan itu boleh diganti dengan panjang maksimum atau prinsip tamak


Jawapan betul


Menurut dokumentasi, penggantian NewReplacer melakukan rentetan mengikut susunan yang muncul dalam padanan, tanpa padanan yang bertindih akan sentiasa mengikut asas padanan pertama. Jika dibenarkan, saya fikir anda boleh menyelesaikan masalah ini dengan menyusun semula pasangan gantian supaya rentetan yang lebih panjang (“ab”-“col1”)放置在较短的字符串(“a”,“col0”) didahulukan

package main

import (
    "fmt"
    "strings"
)

func main() {
    r := strings.NewReplacer("ab", "col1", "a", "col0")
    s := "ab"
    fmt.Println(r.Replace(s))
}

Atas ialah kandungan terperinci Bagaimana untuk menggantikan rentetan dalam golang dengan betul dengan "prinsip tamak"?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam