Ai
1 Star 0 Fork 0

pretty_tech/xby_golang

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
StringHelper.go 2.01 KB
一键复制 编辑 原始数据 按行查看 历史
buou1985 提交于 2021-01-07 11:24 +08:00 . 1
package helper
import (
"strings"
)
func GetLastSymBolAfterStr(source string, symbol string) (res string) {
index := strings.LastIndex(source, symbol) + 1
res = source[index:]
return
}
func GetFileNameByUri(uri string) (res string) {
source := GetLastSymBolAfterStr(uri, "/")
index := strings.LastIndex(source, ".")
res = source[:index]
return
}
func Ucfirst(str string) string {
if str == "" {
return str
}
clist := []rune(str)
if len(clist) == 1 {
return strings.ToUpper(str)
}
//97-122 代表字母
if clist[0] >= 97 && clist[0] <= 122 {
clist[0] -= 32
return string(clist[0]) + string(clist[1:])
} else {
return str
}
}
//下划线模式
func SnakeCase(s string) string {
data := make([]byte, 0, len(s)*2)
j := false
num := len(s)
for i := 0; i < num; i++ {
d := s[i]
if i > 0 && d >= 'A' && d <= 'Z' && j {
data = append(data, '_')
}
if d != '_' {
j = true
}
data = append(data, d)
}
return strings.ToLower(string(data[:]))
}
//k 是控制首写字母大小写的,
//j 预计控制-后面的首写字母
func CamelCase(s string) string {
data := make([]byte, 0, len(s))
j := false
//这个变量的目的应该越过第一个字母
k := false
num := len(s) - 1
for i := 0; i < num; i++ {
d := s[i]
//当前字母 大些 ,k为false
if k == false && d >= 'A' && d <= 'Z' {
//fmt.Printf("这里k变true %s(%v): (k=%v),(j=%v)\n", string(d), d, k, j)
k = true
}
//当前小写 j|| k 为false 改变为大写
if d >= 'a' && d <= 'z' && (j || k == false) {
d = d - 32
j = false
k = true
//fmt.Printf("这里变大写,j变false ,k 变true %s(%v): (k=%v),(j=%v)\n", string(d), d, k, j)
}
//这是取_后面的
if k && d == '_' && num > i && s[i+1] >= 'a' && s[i+1] <= 'z' {
j = true
//fmt.Printf("这里j变true %s(%v): (k=%v),(j=%v)\n", string(d), d, k, j)
continue
}
//fmt.Printf("%s(%v): (k=%v),(j=%v)\n", string(d), d, k, j)
//fmt.Println("===========下次循环=========")
data = append(data, d)
}
return string(data[:])
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/pretty_tech/xby_golang.git
git@gitee.com:pretty_tech/xby_golang.git
pretty_tech
xby_golang
xby_golang
v0.1.3

搜索帮助