You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					102 lines
				
				3.0 KiB
			
		
		
			
		
	
	
					102 lines
				
				3.0 KiB
			| 
											1 year ago
										 | from typing import List | ||
| 
											1 year ago
										 | from config.constant import CommonConstant | ||
|  | 
 | ||
|  | 
 | ||
| 
											1 year ago
										 | class StringUtil: | ||
|  |     """
 | ||
|  |     字符串工具类 | ||
|  |     """
 | ||
|  | 
 | ||
|  |     @classmethod | ||
|  |     def is_blank(cls, string: str) -> bool: | ||
|  |         """
 | ||
|  |         校验字符串是否为''或全空格 | ||
| 
											1 year ago
										 | 
 | ||
| 
											1 year ago
										 |         :param string: 需要校验的字符串 | ||
|  |         :return: 校验结果 | ||
|  |         """
 | ||
|  |         if string is None: | ||
|  |             return False | ||
|  |         str_len = len(string) | ||
|  |         if str_len == 0: | ||
|  |             return True | ||
|  |         else: | ||
|  |             for i in range(str_len): | ||
|  |                 if string[i] != ' ': | ||
|  |                     return False | ||
|  |             return True | ||
|  | 
 | ||
|  |     @classmethod | ||
|  |     def is_empty(cls, string) -> bool: | ||
|  |         """
 | ||
|  |         校验字符串是否为''或None | ||
| 
											1 year ago
										 | 
 | ||
| 
											1 year ago
										 |         :param string: 需要校验的字符串 | ||
|  |         :return: 校验结果 | ||
|  |         """
 | ||
|  |         return string is None or len(string) == 0 | ||
| 
											1 year ago
										 | 
 | ||
|  |     @classmethod | ||
|  |     def is_http(cls, link: str): | ||
|  |         """
 | ||
|  |         判断是否为http(s)://开头 | ||
| 
											1 year ago
										 | 
 | ||
| 
											1 year ago
										 |         :param link: 链接 | ||
|  |         :return: 是否为http(s)://开头 | ||
|  |         """
 | ||
|  |         return link.startswith(CommonConstant.HTTP) or link.startswith(CommonConstant.HTTPS) | ||
| 
											1 year ago
										 | 
 | ||
|  |     @classmethod | ||
|  |     def contains_ignore_case(cls, search_str: str, compare_str: str): | ||
|  |         """
 | ||
|  |         查找指定字符串是否包含指定字符串同时串忽略大小写 | ||
|  | 
 | ||
|  |         :param search_str: 查找的字符串 | ||
|  |         :param compare_str: 比对的字符串 | ||
|  |         :return: 查找结果 | ||
|  |         """
 | ||
|  |         if compare_str and search_str: | ||
|  |             return compare_str.lower() in search_str.lower() | ||
|  |         return False | ||
|  | 
 | ||
|  |     @classmethod | ||
|  |     def contains_any_ignore_case(cls, search_str: str, compare_str_list: List[str]): | ||
|  |         """
 | ||
|  |         查找指定字符串是否包含指定字符串列表中的任意一个字符串同时串忽略大小写 | ||
|  | 
 | ||
|  |         :param search_str: 查找的字符串 | ||
|  |         :param compare_str_list: 比对的字符串列表 | ||
|  |         :return: 查找结果 | ||
|  |         """
 | ||
|  |         if search_str and compare_str_list: | ||
|  |             for compare_str in compare_str_list: | ||
|  |                 return cls.contains_ignore_case(search_str, compare_str) | ||
|  |         return False | ||
|  | 
 | ||
|  |     @classmethod | ||
|  |     def startswith_case(cls, search_str: str, compare_str: str): | ||
|  |         """
 | ||
|  |         查找指定字符串是否以指定字符串开头 | ||
|  | 
 | ||
|  |         :param search_str: 查找的字符串 | ||
|  |         :param compare_str: 比对的字符串 | ||
|  |         :return: 查找结果 | ||
|  |         """
 | ||
|  |         if compare_str and search_str: | ||
|  |             return search_str.startswith(compare_str) | ||
|  |         return False | ||
|  | 
 | ||
|  |     @classmethod | ||
|  |     def startswith_any_case(cls, search_str: str, compare_str_list: List[str]): | ||
|  |         """
 | ||
|  |         查找指定字符串是否以指定字符串列表中的任意一个字符串开头 | ||
|  | 
 | ||
|  |         :param search_str: 查找的字符串 | ||
|  |         :param compare_str_list: 比对的字符串列表 | ||
|  |         :return: 查找结果 | ||
|  |         """
 | ||
|  |         if search_str and compare_str_list: | ||
|  |             for compare_str in compare_str_list: | ||
|  |                 return cls.startswith_case(search_str, compare_str) | ||
|  |         return False |