1 Star 1 Fork 0

李爽 / go-utils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
strings.go 1.87 KB
一键复制 编辑 原始数据 按行查看 历史
package utils
import "strings"
// RemoveItemsContainingSubstring
// 从字符串数组切片里移除包含substr字符串的项并移除连续空格字符
func RemoveItemsContainingSubstring(arr []string, substr string) []string {
result := make([]string, 0)
for _, s := range arr {
if !strings.Contains(s, substr) && s != "" {
result = append(result, RemoveMultiSpaces(strings.TrimSpace(s)))
}
}
return result
}
// RemoveItemsNotContainingSubstring
// 从字符串数组切片里移除不包含substr字符串的项并移除连续空格字符
func RemoveItemsNotContainingSubstring(arr []string, substr string) []string {
result := make([]string, 0)
for _, s := range arr {
if strings.Contains(s, substr) {
result = append(result, RemoveMultiSpaces(strings.TrimSpace(s)))
}
}
return result
}
// RemoveFirstString
// 从字符串数组切片里移除第一个元素
func RemoveFirstString(slice []string) []string {
if len(slice) == 0 {
return slice // 或者返回nil,根据你的需求而定
}
// 将第二个元素到最后一个元素前移
copy(slice, slice[1:])
// 缩短切片长度
return slice[:len(slice)-1]
}
// RemoveMatchString
// 按正则表达式移除字符串数组切片中的元素
// method为1则移除匹配项
// method为2则移除不匹配项
func RemoveMatchString(slice []string, pattern string, method int) []string {
// 如果method不为1和2,则返回原切片
if method != 1 && method != 2 {
return slice
}
result := make([]string, 0)
for _, item := range slice {
match := MatchString(item, pattern)
// 如果method为1,那么移除匹配项,所以判断未匹配的加入返回切片
if method == 1 && !match {
result = append(result, item)
}
// 如果method为2,那么移除不匹配项,所以判断匹配的加入返回切片
if method == 2 && match {
result = append(result, item)
}
}
return result
}
Go
1
https://gitee.com/love_bass/go-utils.git
git@gitee.com:love_bass/go-utils.git
love_bass
go-utils
go-utils
v0.7.1

搜索帮助