regex - Golang 编译正则表达式以删除 "以及字符串中 @ 之后和包括的任何内容

标签 regex go

如果我有一个看起来像 "Abraham Lincoln"@en 的字符串。我想要做的是,如果它包含 @en,则删除引号,但保留里面的内容并删除 @en。

在 golang 中执行此操作的最佳方法是什么?

最佳答案

您可以根据示例输入执行此操作的一种方法。

package main

import (
   "fmt"
   "regexp"
)

func main() {
   s := `"Abraham Lincoln" @en`
   reg := regexp.MustCompile(`"([^"]*)" *@en`)
   res := reg.ReplaceAllString(s, "${1}")
   fmt.Println(res) // Abraham Lincoln
}

如果引号后有更多数据,您可以随时将表达式更改为:

reg := regexp.MustCompile(`"([^"]*)".*@en`)

GoPlay

关于regex - Golang 编译正则表达式以删除 "以及字符串中 @ 之后和包括的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392130/

相关文章:

regex - 如何捕获正则表达式的结果并替换 bash 中的模式

正则表达式匹配不包含任何超过 10 个字符的单词的字符串?

go - Kubernetes 的 client-go 运行应用命令

arrays - 如何在 Go 中的 slice 或结构中存储不同的结构(不嵌入)

rest - 如何从 fetch 向我的 go API 发出 PUT 请求?

Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式

Javascript动态正则表达式值

javascript - 正则表达式:捕获组不是从一开始就进行否定前瞻

git - Heroku local 没有使用我的最新代码。为什么?

go - 如何访问gohtml中 slice 结构内的结构元素?