feat: 增加部分字符串转换函数
This commit is contained in:
parent
ab0a7cbbbc
commit
28c6097044
154
utils/str/str.go
154
utils/str/str.go
|
@ -19,11 +19,11 @@ var (
|
|||
// FirstUpper 首字母大写
|
||||
func FirstUpper(str string) string {
|
||||
var upperStr string
|
||||
vv := []rune(str) // 后文有介绍
|
||||
vv := []rune(str)
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if i == 0 {
|
||||
if vv[i] >= 97 && vv[i] <= 122 { // 后文有介绍
|
||||
vv[i] -= 32 // string的码表相差32位
|
||||
if vv[i] >= 97 && vv[i] <= 122 {
|
||||
vv[i] -= 32
|
||||
upperStr += string(vv[i])
|
||||
} else {
|
||||
return str
|
||||
|
@ -34,3 +34,151 @@ func FirstUpper(str string) string {
|
|||
}
|
||||
return upperStr
|
||||
}
|
||||
|
||||
// FirstLower 首字母小写
|
||||
func FirstLower(str string) string {
|
||||
var lowerStr string
|
||||
vv := []rune(str)
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if i == 0 {
|
||||
if vv[i] >= 65 && vv[i] <= 90 {
|
||||
vv[i] += 32
|
||||
lowerStr += string(vv[i])
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
lowerStr += string(vv[i])
|
||||
}
|
||||
}
|
||||
return lowerStr
|
||||
}
|
||||
|
||||
// FirstUpperBytes 首字母大写
|
||||
func FirstUpperBytes(str []byte) []byte {
|
||||
var upperStr []byte
|
||||
vv := []rune(string(str))
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if i == 0 {
|
||||
if vv[i] >= 97 && vv[i] <= 122 {
|
||||
vv[i] -= 32
|
||||
upperStr = append(upperStr, string(vv[i])...)
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
upperStr = append(upperStr, string(vv[i])...)
|
||||
}
|
||||
}
|
||||
return upperStr
|
||||
}
|
||||
|
||||
// FirstLowerBytes 首字母小写
|
||||
func FirstLowerBytes(str []byte) []byte {
|
||||
var lowerStr []byte
|
||||
vv := []rune(string(str))
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if i == 0 {
|
||||
if vv[i] >= 65 && vv[i] <= 90 {
|
||||
vv[i] += 32
|
||||
lowerStr = append(lowerStr, string(vv[i])...)
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
lowerStr = append(lowerStr, string(vv[i])...)
|
||||
}
|
||||
}
|
||||
return lowerStr
|
||||
}
|
||||
|
||||
// IsEmpty 判断字符串是否为空
|
||||
func IsEmpty(str string) bool {
|
||||
return len(str) == 0
|
||||
}
|
||||
|
||||
// IsEmptyBytes 判断字符串是否为空
|
||||
func IsEmptyBytes(str []byte) bool {
|
||||
return len(str) == 0
|
||||
}
|
||||
|
||||
// IsNotEmpty 判断字符串是否不为空
|
||||
func IsNotEmpty(str string) bool {
|
||||
return !IsEmpty(str)
|
||||
}
|
||||
|
||||
// IsNotEmptyBytes 判断字符串是否不为空
|
||||
func IsNotEmptyBytes(str []byte) bool {
|
||||
return !IsEmptyBytes(str)
|
||||
}
|
||||
|
||||
// SnakeString 蛇形字符串
|
||||
func SnakeString(str string) string {
|
||||
var snakeStr string
|
||||
vv := []rune(str)
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if vv[i] >= 65 && vv[i] <= 90 {
|
||||
vv[i] += 32
|
||||
snakeStr += "_" + string(vv[i])
|
||||
} else {
|
||||
snakeStr += string(vv[i])
|
||||
}
|
||||
}
|
||||
return snakeStr
|
||||
}
|
||||
|
||||
// SnakeStringBytes 蛇形字符串
|
||||
func SnakeStringBytes(str []byte) []byte {
|
||||
var snakeStr []byte
|
||||
vv := []rune(string(str))
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if vv[i] >= 65 && vv[i] <= 90 {
|
||||
vv[i] += 32
|
||||
snakeStr = append(snakeStr, '_')
|
||||
snakeStr = append(snakeStr, string(vv[i])...)
|
||||
} else {
|
||||
snakeStr = append(snakeStr, string(vv[i])...)
|
||||
}
|
||||
}
|
||||
return snakeStr
|
||||
}
|
||||
|
||||
// CamelString 驼峰字符串
|
||||
func CamelString(str string) string {
|
||||
var camelStr string
|
||||
vv := []rune(str)
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if vv[i] == '_' {
|
||||
i++
|
||||
if vv[i] >= 97 && vv[i] <= 122 {
|
||||
vv[i] -= 32
|
||||
camelStr += string(vv[i])
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
camelStr += string(vv[i])
|
||||
}
|
||||
}
|
||||
return camelStr
|
||||
}
|
||||
|
||||
// CamelStringBytes 驼峰字符串
|
||||
func CamelStringBytes(str []byte) []byte {
|
||||
var camelStr []byte
|
||||
vv := []rune(string(str))
|
||||
for i := 0; i < len(vv); i++ {
|
||||
if vv[i] == '_' {
|
||||
i++
|
||||
if vv[i] >= 97 && vv[i] <= 122 {
|
||||
vv[i] -= 32
|
||||
camelStr = append(camelStr, string(vv[i])...)
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
camelStr = append(camelStr, string(vv[i])...)
|
||||
}
|
||||
}
|
||||
return camelStr
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue