Go에서 regexp를 사용하여 케이스를 교체하고 싶습니다. Javascript에서 비슷한 방법을 사용하려고했지만 Go를 $ 기호를 이해하는 방법을 알아낼 수 없습니다.Go : regexp to swap cases
func swapcase(str string) string {
var validID = regexp.MustCompile(`[A-Z]`)
return validID.ReplaceAllString(str, strings.ToLower(str))
/*
var validID = regexp.MustCompile(`[a-z]`)
return validID.ReplaceAllString(str, strings.ToUpper(str))
*/
}
이것은 내 시도였습니다. 그것은 위와 아래로의 모든 변환을 위해 작동하지만, 내가하고 싶은 것은 동시에 모든 문자를 교환하는 것입니다. 예 : "Hello"---> "hELLO"
그리고 다음은 완벽하게 작동하는 Javascript의 코드입니다.
function SwapCase(str) {
return str.replace(/([a-z])|([A-Z])/g,
function($0, $1, $2) {
return ($1) ? $0.toUpperCase() : $0.toLowerCase();
})
}
이 때문에 (https://code.google.com/p/go/issues/detail?id=5690) –