gpt4 book ai didi

regex - 使用正则表达式替换将文本添加到多行字符串的每一行的开头

转载 作者:行者123 更新时间:2023-12-01 21:13:57 26 4
gpt4 key购买 nike

我试图将特定的文本添加到每一行的开头。我正在使用^正则表达式运算符来查找每行的开头。但是,我只能替换多行字符串的第一行。我究竟做错了什么?

验证码:

str := `This is a
multiline
string.`

var regexPattern = regexp.MustCompile("^")
s := regexPattern.ReplaceAllString(str, "START OF LINE")
fmt.Println(s)

输出:

START OF LINEThis is a
multiline
string.

最佳答案

您可以使用多行标记(?m)将克拉^的行为从“匹配字符串开头”更改为“匹配行开头”:

package main

import "fmt"
import "regexp"

func main() {
str := `This is a
multiline
string.`

var regexPattern = regexp.MustCompile(`(?m)^`)
s := regexPattern.ReplaceAllString(str, "START OF LINE")
fmt.Println(s)
}

输出:

START OF LINEThis is a
START OF LINE multiline
START OF LINE string.

当然,看起来很有趣的输出是如何创建多行字符串的产物。如果您想添加前导空格,可以使用 (?m)^\s*:

START OF LINEThis is a
START OF LINEmultiline
START OF LINEstring.

关于regex - 使用正则表达式替换将文本添加到多行字符串的每一行的开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61180523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com