12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package character
- import (
- "math/rand"
- "regexp"
- "strings"
- "time"
- )
- func RandStringRunes(n int) string {
- var letterRunes = []rune("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890")
- rand.Seed(time.Now().UnixNano())
- b := make([]rune, n)
- for i := range b {
- b[i] = letterRunes[rand.Intn(len(letterRunes))]
- }
- return string(b)
- }
- // SubstrAfter 截取指定字符后的内容
- func SubstrAfter(str string, symbol string) string {
- comma := strings.Index(str, symbol)
- if comma < 0 { // -1 不存在
- return ""
- }
- pos := strings.Index(str[comma:], symbol)
- if comma+pos+1 > len(str) {
- return ""
- }
- return str[comma+pos+1:]
- }
- // IsLetterNumber 是否是数字和字母
- func IsLetterNumber(str string) bool {
- reg, _ := regexp.Compile("[^a-zA-Z0-9]+")
- p := reg.ReplaceAllString(str, "")
- return p == str
- }
- // InSlice 元素是否存在于切片中
- func InSlice[T int | int32 | int64 | string](slice []T, key T) bool {
- if len(slice) == 0 {
- return false
- }
- for i := 0; i < len(slice); i++ {
- if slice[i] == key {
- return true
- }
- }
- return false
- }
|