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
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!