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) }