Go で regexp を使用してケースを交換したい。Javascriptで同様の方法を使用しようとしましたが、Goに$記号を理解させる方法がわかりません。
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))
*/
}
これが私の試みでした。すべての大文字を小文字に、またはその逆に変換するのに機能しますが、私がやりたいのは、すべての文字を同時に交換することです。たとえば、「こんにちは」 ---> 「こんにちは」
以下は、完璧に機能する Javascript の私のコードです。
function SwapCase(str) {
return str.replace(/([a-z])|([A-Z])/g,
function($0, $1, $2) {
return ($1) ? $0.toUpperCase() : $0.toLowerCase();
})
}