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
'golang' 카테고리의 다른 글
golang init 함수 호출 시점 (0) | 2024.07.05 |
---|---|
golang 메모리 패딩 고려한 구조체 최적화 (0) | 2024.07.05 |
golang json gojay 라이브러리 (0) | 2024.07.05 |
golang Struct Embedding (1) | 2024.07.05 |
golang file scanner (0) | 2024.07.05 |