python自动化:字符串的各种操作

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字符串的操作,不是很全,欢迎补充!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穿背心的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值