我想用新字符串替換正則表達(dá)式匹配的字符串,但仍保留原始文本的一部分。我想得到I own_VERB it and also have_VERB it從I own it and also have it我如何用一行代碼做到這一點(diǎn)?我試過了,但不能比這更進(jìn)一步。謝謝,http://play.golang.org/p/SruLyf3VK_ package main import "fmt" import "regexp" func getverb(str string) string { var validID = regexp.MustCompile(`(own)|(have)`) return validID. ReplaceAllString(str, "_VERB") } func main() { fmt.Println(getverb("I own it and also have it")) // how do I keep the original text like // I own_VERB it and also have_VERB it }
3 回答

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
似乎有點(diǎn)谷歌搜索幫助:
var validID = regexp.MustCompile(`(own|have)`)
return validID. ReplaceAllString(str, "${1}_VERB")

aluckdog
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
在替換內(nèi)部,$符號被解釋為在 Expand 中,因此例如 $1 表示第一個(gè)子匹配的文本。
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile("(own|have)")
fmt.Println(re.ReplaceAllString("I own it and also have it", "${1}_VERB"))
}
輸出
I own_VERB it and also have_VERB it
- 3 回答
- 0 關(guān)注
- 388 瀏覽
添加回答
舉報(bào)
0/150
提交
取消