123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- package yu_strings
- import (
- "strings"
- )
- // Is09
- //
- // @Description: 判断字符串是否全为数字
- func Is09(s string) bool {
- for _, j_ascii := range s {
- if j_ascii < 48 || j_ascii > 57 {
- return false
- }
- }
- return len(s) > 0
- }
- // Isaz
- //
- // @Description: 判断字符串是否全为小写字母
- func Isaz(s string) bool {
- for _, j_ascii := range s {
- if j_ascii < 97 || j_ascii > 122 {
- return false
- }
- }
- return len(s) > 0
- }
- // IsAZ
- //
- // @Description: 判断字符串是否全为大写字母
- func IsAZ(s string) bool {
- for _, j_ascii := range s {
- if j_ascii < 65 || j_ascii > 90 {
- return false
- }
- }
- return len(s) > 0
- }
- // IsaZ
- //
- // @Description: 判断字符串是否全为字母,不区分大小写
- func IsaZ(s string) bool {
- for _, j_ascii := range s {
- if (j_ascii < 65 || j_ascii > 90) && (j_ascii < 97 || j_ascii > 122) {
- return false
- }
- }
- return len(s) > 0
- }
- // Is0aZ
- //
- // @Description: 判断字符串是否全为数字和字母的组合
- func Is0aZ(s string) bool {
- for _, j_ascii := range s {
- if (j_ascii < 48 || j_ascii > 57) && (j_ascii < 65 || j_ascii > 90) && (j_ascii < 97 || j_ascii > 122) {
- return false
- }
- }
- return len(s) > 0
- }
- // IsEx
- //
- // @Description: 判断字符串是否单字节字符
- func IsEx(s string) bool {
- for _, j_ascii := range s {
- if j_ascii < 33 || j_ascii > 126 {
- return false
- }
- }
- return len(s) > 0
- }
- // Get09
- //
- // @Description: 提取字符串中的纯数字
- func Get09(s string) string {
- j_buf := make([]byte, 0, len(s))
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= 48 && s[j_i] <= 57 {
- j_buf = append(j_buf, s[j_i])
- }
- }
- return string(j_buf)
- }
- // Get09s
- //
- // @Description: 提取字符串中的纯数字数组
- func Get09s(s string) []string {
- j_buf := make([]byte, 0, len(s))
- j_arr := make([]string, 0, len(s))
- for j_i := 0; j_i < len(s); j_i++ {
- if s[j_i] >= 48 && s[j_i] <= 57 {
- j_buf = append(j_buf, s[j_i])
- continue
- }
- if len(j_buf) > 0 {
- j_arr = append(j_arr, string(j_buf))
- j_buf = make([]byte, 0, len(s))
- }
- }
- if len(j_buf) > 0 {
- j_arr = append(j_arr, string(j_buf))
- j_buf = make([]byte, 0, len(s))
- }
- return j_arr
- }
- // Sub
- //
- // @Description: 取数据中间
- // @param str 欲寻找的数据
- // @param left 欲寻找的左边数据
- // @param right 欲寻找的右边数据
- // @return string 寻找到的结果,如:
- //
- // Sub("1234567896789","3","7")
- // ->
- // "456"
- func Sub(str, left, right string) string {
- j_l := strings.Index(str, left)
- if j_l == -1 {
- return ""
- }
- j_l += len(left)
- j_r := strings.Index(str[j_l:], right)
- if j_r == -1 {
- return ""
- }
- return str[j_l : j_l+j_r]
- }
- // Left
- //
- // @Description: 取数据左边
- // @param str 欲寻找的数据
- // @param right 欲寻找的右边数据
- // @return []byte 寻找到的结果,如:
- //
- // Left("1234567896789","67")
- // ->
- // "12345"
- func Left(str, right string) string {
- j_r := strings.Index(str, right)
- if j_r == -1 {
- return ""
- }
- return str[:j_r]
- }
- // Right
- //
- // @Description: 取数据右边
- // @param str 欲寻找的数据
- // @param left 欲寻找的左边数据
- // @return string 寻找到的结果,如:
- //
- // Right("1234567896789","67")
- // ->
- // "896789"
- func Right(str, left string) string {
- j_l := strings.Index(str, left)
- if j_l == -1 {
- return ""
- }
- return str[j_l+len(left):]
- }
- // EmptyLeft
- //
- // @Description: 删除字符串中的左边空格
- // @param str 欲处理的数据
- // @return string 处理后的数据,如:
- //
- // EmptyLeft("\r\n\t 15151 \t ")
- // ->
- // "15151 \t "
- func EmptyLeft(str string) string {
- j_len := len(str)
- for j_i := 0; j_i < j_len; j_i++ {
- if str[j_i] != 32 && str[j_i] != 13 && str[j_i] != 10 && str[j_i] != 9 {
- return str[j_i:]
- }
- }
- return ""
- }
- // EmptyRight
- //
- // @Description: 删除字符串中的右边空格
- // @param str 欲处理的数据
- // @return string 处理后的数据,如:
- //
- // EmptyRight(" \t 15151 \t \r\n")
- // ->
- // " \t 15151"
- func EmptyRight(str string) string {
- j_len := len(str)
- for j_len > 0 {
- j_len--
- if str[j_len] != 32 && str[j_len] != 13 && str[j_len] != 10 && str[j_len] != 9 {
- return str[:j_len+1]
- }
- }
- return ""
- }
- // Empty
- //
- // @Description: 删除字符串中的左右边空格
- // @param str 欲处理的数据
- // @return string 处理后的数据,如:
- //
- // Empty("\r\n \t 15151 \t\r\n")
- // ->
- // "15151"
- func Empty(str string) string {
- return EmptyRight(EmptyLeft(str))
- }
- // EmptyAll
- //
- // @Description: 删除字符串中的所有的空字符(空格、换行、tab、空字符)
- // @param str 欲处理的数据
- // @return string 处理后的数据,如:
- //
- // Empty("\r\n \t 15151 \t\r\n")
- // ->
- // "15151"
- func EmptyAll(str string) string {
- j_buf := make([]byte, 0, len(str))
- for j_i := 0; j_i < len(str); j_i++ {
- if str[j_i] == 32 {
- continue
- }
- if str[j_i] == 13 || str[j_i] == 10 {
- continue
- }
- if str[j_i] == '\t' {
- continue
- }
- if str[j_i] == '\x00' {
- continue
- }
- j_buf = append(j_buf, str[j_i])
- }
- return string(j_buf)
- }
|