1 Star 0 Fork 0

瑞哥/util

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
String.go 2.21 KB
一键复制 编辑 原始数据 按行查看 历史
Your Name 提交于 2023-10-27 11:12 . 新增一些字符串的处理函数
package rtool
import (
"strings"
"unicode"
)
// ToTitle 将字符串的首字母转换为大写
func ToTitle(str string) string {
if len(str) <= 0 {
return str
}
var _tempStr = []rune(strings.ToLower(str))
if unicode.IsLetter(_tempStr[0]) {
_tempStr[0] = unicode.ToUpper(_tempStr[0])
}
return string(_tempStr)
}
// ToUATitle 每个单词的首字母转换为大写
func ToUATitle(str string) string {
if len(str) <= 0 {
return str
}
var _tempStr = []rune(strings.ToLower(str))
var first = true
for i, d := range _tempStr {
if unicode.IsLetter(d) {
if first {
_tempStr[i] = unicode.ToUpper(_tempStr[i])
first = false
continue
}
continue
}
if unicode.IsNumber(d) {
if first {
first = false
continue
}
continue
}
first = true
}
return string(_tempStr)
}
// JoinString 拆分再合并字符串
// src:需要拆分的字符串模板,比如:4e6f9e19f397e8b3e42716aaf8f80589f1ed42c1272f7e7b25e5c5de7d88b2d1
// substr:需要往中间添加的子字符串,比如:-
// length:第 1 段的长度
// lengths:后续 n 段各自的长度
// 案例 JoinString(s, "-", 1, 2, 3, 4) 返回:4-e6-f9e-19f3
func JoinString(src string, substr string, length int, lengths ...int) string {
lengths = append([]int{length}, lengths...)
var rt strings.Builder
for i, d := range lengths {
if len(src) <= d {
rt.WriteString(src)
break
}
rt.WriteString(src[:d])
if i != len(lengths)-1 {
rt.WriteString(substr)
}
src = src[d:]
}
return rt.String()
}
// Join 拆分再合并
// src:需要拆分的模板,比如:[]rune("4e6f9e19f397e8b3e42716aaf8f80589f1ed42c1272f7e7b25e5c5de7d88b2d1")
// substr:需要往中间添加的子模板,比如:[]rune("-")
// length:第 1 段的长度
// lengths:后续 n 段各自的长度
// 案例 Join([]rune(s), []rune("-"), 1, 2, 3, 4) 返回:[]rune("4-e6-f9e-19f3")
func Join[T IntUintBoolByteStringFloat](src []T, substr []T, length int, lengths ...int) []T {
lengths = append([]int{length}, lengths...)
var rt []T
for i, d := range lengths {
if len(src) <= d {
rt = append(rt, src...)
break
}
rt = append(rt, src[:d]...)
if i != len(lengths)-1 {
rt = append(rt, substr...)
}
src = src[d:]
}
return rt
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ruige_fun/util.git
git@gitee.com:ruige_fun/util.git
ruige_fun
util
util
v0.1.4

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385