У меня есть следующий файл yaml myfile.yml
:
variables:
PYTHONUNBUFFERED: 1
GIT_STRATEGY: clone
Grpc__Client__Service__Target: ${URL}.${PREFIX}.mydomain.com:443
include:
- project: "myproject"
file: "/test.yml"
stages:
- mystage
, где я хочу удалить строку, начинающуюся с "Grp c"
мой код:
package main
import (
"fmt"
"io/ioutil"
"strings"
"regexp"
)
func main() {
filename := "myfile.yml"
content, err := ioutil.ReadFile(filename)
check(errReadFile)
if err != nil {
panic(err)
}
m := regexp.MustCompile("^ Grpc__(.*)$")
grpcRemoved := m.ReplaceAllString(string(content), "")
fmt.Println(grpcRemoved)
}
В конце ничего не удаляется.
Я проверил свое регулярное выражение, используя MatchString
, он вернул true
для:
matchString, _ := regexp.MatchString("^ Grpc__(.*)$", " Grpc__Client__Service__Target: ${URL}.${PREFIX}.mydomain.com:443")
, но
matchStringFile, _ := regexp.MatchString("^ Grpc__(.*)$", string(content))
вернул false
, чего не ожидаю. Тогда я полагаю, что ReplaceAllString
не работает, потому что он не находит ничего для замены.
Что не так с моим кодом?