func split(str string) (words []string) {
repl := strings.NewReplacer("-", " ", "_", " ")
str = repl.Replace(str)
rex2 := regexp.MustCompile("(\\w+)")
words = rex2.FindAllString(str, -1)
return
}
func ToCamel(str string) (out string) {
lowerStr := strings.ToLower(str)
words := split(lowerStr)
out = words[0]
for _, w := range split(lowerStr)[1:] {
out += strings.Title(w)
}
return
}
func main() {
contents, _ := ioutil.ReadFile("test.txt")
lines := strings.Split(string(contents), "\n")
out := ""
for _, line := range lines[:len(lines)-1] {
for _, w := range strings.Split(line, " ") {
out += ToCamel(w) + "\n"
}
}
ioutil.WriteFile("output.txt", []byte(out), 0644)
}
sql 담긴 파일 읽어서 snake 형식을 Camel 형식으로 바꾼 후 파일에 저장하는 기능을 go로 코딩해보았습니다(여기선 _에 추가로 "-"로 단어 구분하는 경우도 포함시켰습니다) 가볍게 쓸거라 특수문자 들어간 경우 등의 섬세한 처리는 없습니다.
'Slack 채널 정리' 카테고리의 다른 글
groovy - snake to camel (0) | 2019.11.26 |
---|---|
vim 에서 snake, camel 변환 (0) | 2019.11.26 |
여러 엑셀 파일의 sheet 통합하기 (0) | 2019.11.26 |
go template 이용한 간단한 소스 제너레이터 (0) | 2019.11.26 |
파일명의 접두어 일괄 바꾸기 (0) | 2019.11.26 |