import re # 该模块用于获取字符串中的汉字/字母方法
def replaceStr(data, oldStr, newStr, count):
"""
替换字符串
:param data: 待处理字符串
:param oldStr: 被替换的字符字串
:param newStr: 要替换的字符淄川
:param count: 替换次数。如果该数值小于等于0,则全部替换,反之按照个数依次从前往后替换
:return: 替换后的字符串
"""
try:
if isinstance(data, str) and isinstance(oldStr, str) and isinstance(newStr, str) and isinstance(count, int):
if count <= 0:
return data.replace(oldStr, newStr)
return data.replace(oldStr, newStr, count)
raise Exception("非法的参数类型")
except Exception as e:
return e
def findStr(data, value, start, end):
"""
查找字串
:param data: 待处理的字符串
:param value: 要查找的字串
:param start: 查找的起始位置。默认为0,起始位置要大于等于0,小于结束位置
:param end: 查找的结束位置。默认为-1,即最后位置,结束位置要大于等于-1
:return: 元素位置,找不到返回-1
"""
try:
if isinstance(data, str) and isinstance(value, str) and isinstance(start, int) and isinstance(end,
int) and 0 <= start and -1 <= end:
if 0 <= end:
if start >= end:
raise Exception("非法的参数")
return data.find(value, start, end)
raise Exception("非法的参数类型")
except Exception as e:
return e
def rfindStr(data, value):
"""
反向查找指定元素
:param data: 字符串
:param value: 查找元素
:return: 元素位置,未找到返回-1
"""
try:
if isinstance(data, str) and isinstance(value, str):
return data.rfind(value)
raise Exception("非法的参数类型")
except Exception as e:
return e
def lowerStr(data):
"""
转小写
:param data: 待处理的字符串
:return: 转化后的字符串
"""
try:
if isinstance(data, str):
return data.lower()
raise Exception("非法的参数类型")
except Exception as e:
return e
def upperStr(data):
"""
转大写
:param data: 待处理的字符串
:return: 转化后的字符串
"""
try:
if isinstance(data, str):
return data.upper()
raise Exception("非法的参数类型")
except Exception as e:
return e
def splitStr(data, sep=None):
"""
以指定字符分割字符串。如果字符串中没有指定字符,则将整个字符串以数组的形式返回
:param data: 待处理的字符串
:param sep: 分割条件字符
:return: 分割后的结果,以数组的形式返回
"""
try:
if isinstance(data, str):
return data.split(sep=sep)
raise Exception("非法的参数类型")
except Exception as e:
return e
def getNumber(data):
"""
获取字符串中的数字
:param data: 待处理字符串
:return: 字符串中的所有数字,字符串形式返回
"""
try:
countStr = ""
if isinstance(data, str):
for d in data:
if d.isdigit():
countStr += d
return countStr
raise Exception("非法的参数类型")
except Exception as e:
return e
def getStr(data):
"""
获取字符串中的字母
:param data: 字符串
:return: 获取的所有字母
"""
try:
if isinstance(data, str):
result = ''.join(re.findall(r'[A-Za-z]', data))
return result
raise Exception("非法的参数类型")
except Exception as e:
return e
def getChinese(data):
"""
获取字符串中的汉字
:param data: 字符串
:return: 获取的汉字
"""
try:
if isinstance(data, str):
result = re.sub("[A-Za-z0-9\!\%\[\]\,\。]", "", data)
return result
else:
raise Exception("非法的参数类型")
except Exception as e:
return e
def cutStr(data, start, end):
"""
获取指定位置字符串
:param data: 待处理字符串
:param start: 起始位置
:param end: 结束位置
:return: 切割后的字符串
"""
try:
if isinstance(data, str) and isinstance(start, int) and isinstance(end,int) and 0<= start and -1 <= end:
if 0 <= end:
if start >= end:
raise Exception("非法的参数")
return data[start:end]
raise Exception("非法的参数类型")
except Exception as e:
return e
def stripStr(data):
"""
去除左右两侧空格
:param data: 待处理字符串
:return: 处理后的结果
"""
try:
if isinstance(data, str):
return data.strip()
raise Exception("非法的参数类型")
except Exception as e:
return e
def lstripStr(data):
"""
去除左侧空格
:param data: 待处理字符串
:return: 处理后的结果
"""
try:
if isinstance(data, str):
return data.lstrip()
raise Exception("非法的参数类型")
except Exception as e:
return e
def rstripStr(data):
"""
去除右侧空格
:param data: 待处理字符串
:return: 处理后的结果
"""
try:
if isinstance(data, str):
return data.rstrip()
raise Exception("非法的参数类型")
except Exception as e:
return e
def judgeInArray(data, value):
"""
判断目标是否在字符串/数组中
:param data: 字符串/数组
:param value: 目标元素
:return: bool类型
"""
try:
if (isinstance(data, str) and isinstance(value, str)) or isinstance(data, list):
if value in data:
return True
return False
raise Exception("非法的参数类型")
except Exception as e:
return e
def judgeStr(data, flag):
"""
判断字符串是否全为某种类型
:param data: 字符串
:param flag: 判断类型。isalnum是否全是字母或数字,isalpha是否是全是字母,isdigit是否是全是数字,isspace是否全是空白字符,islower字母是否全是小写,isupper字母是否全是大写,istitle是否是首字母大写的
:return: 运行结果。bool类型
"""
try:
if isinstance(data, str):
if flag == "isalnum":
return data.isalnum()
elif flag == "isalpha":
return data.isalpha()
elif flag == "isdigit":
return data.isdigit()
elif flag == "isspace":
return data.isspace()
elif flag == "islower":
return data.islower()
elif flag == "isupper":
return data.isupper()
elif flag == "istitle":
return data.istitle()
raise Exception("非法的参数类型")
except Exception as e:
return e
def compareStr(str1, str2, isupper):
"""
比较两个字符串是否相同
:param str1: 字符串1
:param str2: 字符串2
:param isupper: 是否区分大小写
:return: 比较结果
"""
try:
if isinstance(str1, str) and isinstance(str2, str):
if isupper:
if str1 == str2:
return True
return False
else:
if str1.lower() == str2.lower():
return True
return False
else:
raise Exception("非法的参数类型")
except Exception as e:
return e
def strStartsWith(data, prefix):
"""
判断字符串是否以指定字符或字符串开头
:param data: 字符串
:param prefix: 指定字符或字符串
:return: 运行结果。bool类型
"""
try:
if isinstance(data, str) and isinstance(prefix, str):
return data.startswith(prefix)
raise Exception("非法的参数类型")
except Exception as e:
return e
def strEndsWith(data, prefix):
"""
判断字符串是否以指定字符或字符串结尾
:param data: 字符串
:param prefix: 指定字符或字符串
:return: 运行结果。bool类型
"""
try:
if isinstance(data, str) and isinstance(prefix, str):
return data.endswith(prefix)
raise Exception("非法的参数类型")
except Exception as e:
return e
def zfillStr(data, number):
"""
返回指定长度的字符串,原字符串右对齐,前面填充0
:param data: 原字符串
:param number: 长度
:return: 指定长度的字符串
"""
try:
if isinstance(data, str) and isinstance(number, int):
return data.zfill(number)
raise Exception("非法的参数类型")
except Exception as e:
return e
def changeStrToJson(data):
"""
字符串转Json。key为索引位置
:param data: 字符串
:return: Json对象
"""
try:
jsonStr = {}
if isinstance(data, str):
objJson = enumerate(data)
for index, value in objJson:
jsonStr[index] = value
return jsonStr
raise Exception("非法的参数类型")
except Exception as e:
return e
def strFlashBack(data):
"""
字符串倒叙/反转字符串
:param data: 字符串
:return: 运行结果
"""
try:
if isinstance(data, str):
return data[::-1]
raise Exception("非法的参数类型")
except Exception as e:
return e
def formatStr(formatStr, data):
"""
格式化字符串
:param data: 字符串
:param eles: 添加的元素
:return: 格式化后的字符串
"""
try:
if isinstance(formatStr, str):
return formatStr.format(*data)
raise Exception("非法的参数类型")
except Exception as e:
return e
这是本人整理的python字符串的操作,不是很全,欢迎补充!