38 lines
639 B
Go
38 lines
639 B
Go
package main
|
|
|
|
import (
|
|
// "fmt"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
func ToCamelCase(s string) string {
|
|
// your code
|
|
var fin string
|
|
fin = s
|
|
symbs := []string{"-","_"}
|
|
for _, ind := range symbs {
|
|
if strings.Contains(s,ind) {
|
|
|
|
index := strings.Index(s,ind)
|
|
|
|
initStr := s
|
|
substr := initStr[index:index+2]
|
|
toRepl := strings.ToUpper(string(initStr[index+1]))
|
|
|
|
fin = strings.Replace(s,substr,toRepl,1)
|
|
|
|
fin = ToCamelCase(fin)
|
|
} else {
|
|
continue
|
|
}
|
|
}
|
|
return fin
|
|
}
|
|
|
|
func main() {
|
|
fmt.Println(ToCamelCase("the-stealth-warrior"))
|
|
fmt.Println(ToCamelCase("The_Stealth_Warrior"))
|
|
fmt.Println(ToCamelCase("The_Stealth-Warrior"))
|
|
}
|