golang
golang 정규식 문자열 치환
kimbs0301
2024. 7. 5. 17:18
golang 정규식 사용으로 문자열 치환 하기
텍스트 파일 내부 문자열 치환
file1.txt
더보기
User.data : ID=#{id}, EMAIL=#{email}
Account.data : AID=#{id}, EMAIL=#{email}
Member.data : MID=#{id}, EMAIL=#{email}
main.go
// Package main
package main // import "example.com/regex/main"
import (
"bufio"
"fmt"
"os"
"regexp"
"runtime"
"time"
)
// main
func main() {
f, err := os.Open("file1.txt")
if err != nil {
fmt.Println(err)
return
}
fs := bufio.NewScanner(f)
fs.Split(bufio.ScanLines)
r, _ := regexp.Compile("#\\{(\\w+)\\}")
for fs.Scan() {
text := fs.Text()
id := "kimbs"
email := "kimbs@email.com"
replaced := r.ReplaceAllStringFunc(text, func(s string) string {
if "#{id}" == s {
return id
}
if "#{email}" == s {
return email
}
return s
})
fmt.Println(replaced)
}
f.Close()
}
실행 결과>
더보기
User.data : ID=kimbs, EMAIL=kimbs@email.com
Account.data : AID=kimbs, EMAIL=kimbs@email.com
Member.data : MID=kimbs, EMAIL=kimbs@email.com