Python中字符串的基本操作

文章目录

  • 1、字符串序号
  • 2、字符串切片
  • 3、字符串切割
  • 4、字符串替换
  • 5、字符串删除
  • 6、字符串判断
  • 7、字符串拼接
  • 8、其他操作
  • 字符串是 python 中常用的数据类型,python中可以使用单引号或双引号来创建字符串,python 中没有字符类型,字符在 python 中也是作为字符串使用。

    1、字符串序号

    字符串序号默认从0开始,python中字符串包括两种序号体系:正向递增序号和反向递减序号。

    s = "UserName=Jim&PassWord=123"
    # 正向递增序号从0开始
    print(s[0])
    print(s[1])
    # 反向递减序号从负1开始
    print(s[-1])
    print(s[-2])
    

    数据结果为:

    查找字符串序号的一些常用方法如下:
    find:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则返回-1。
    rfind:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则返回-1。
    index:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则抛出异常。
    rindex:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则抛出异常。
    count:用来返回一个字符串在另一个字符串中出现的次数,若不存在则返回0。

    s = "UserName=Jim&PassWord=123"
    print(s.find("&"))
    print(s.rfind("3"))
    print(s.index('m'))
    print(s.rindex("m"))
    print(s.count("m"))
    

    输出结果为:

    2、字符串切片

    字符串有序号,可以看作是一个特殊的list,可以进行切片操作。需要注意的是切片操作默认步长为1,且切片区间为左闭右开。

    s = "UserName=Jim&PassWord=123"
    print(s[0:4])
    print(s[-3:-1])
    print(s[13:])
    # 反转字符串
    print(s[::-1])
    

    输出结果为:

    3、字符串切割

    字符串截取主要用到split函数,使用字符串中的某个字符串分割字符串。

    s = "a,b,e,123,hello"
    s = s.split(",")  # 使用","分割字符串
    print(s)  # 输出结果是['a', 'b', 'e', '123', 'hello']
    

    运用字符串分割,可以将某些特殊的字符串转为字典。

    params = 'a=1&b=3&e=78&123=a&hello=h'
    s = params.split('&')
    print(s)  # 得到链表['a=1', 'b=3', 'e=78', '123=a', 'hello=h']
    dict_p = {}  # 定义一个空字典
    for key_value in s:  # 通过键值对遍历
        key = key_value[0:key_value.find('=')]  # 截取等号以前的值作为键
        value = key_value[key_value.find('=') + 1:]  # 截取等号后面的值作为值
        dict_p[key] = value  # 把键值对添加到空字典
    print(dict_p)  # 输出结果是{'a': '1', 'b': '3', 'e': '78', '123': 'a', 'hello': 'h'}
    

    4、字符串替换

    字符串替换主要用到replace函数,replace函数有3个参数,参数1为被替换字符串,参数2为替换字符串,参数3为被替换字符串的个数,默认为-1,表示替换全部。

    s = 'Jim is a boy,Jim is 8'
    s = s.replace('Jim', 'Tom')
    print(s)  # 输出结果是Tom is a boy,Tom is 8
    s = s.replace('Tom', 'Jim', 1)
    print(s)  # 输出结果是Jim is a boy,Tom is 8
    

    输出结果为:

    5、字符串删除

    字符串删除操作,主要用到strip函数,但strip函数只能对字符串两端进行删除操作。
    strip:删除字符串两端空白字符或指定字符
    lstrip:删除字符串左端空白字符或指定字符。
    rstrip:删除字符串右端空白字符或指定字符。

    s = "---UserName---PassWord---"
    print(s.strip("-"))
    print(s.lstrip("-"))
    print(s.rstrip("-"))
    

    输出结果为:

    6、字符串判断

    字符串判断操作常用的函数如下:
    contains:判断是否包含某个字符串。
    startswith:判断是否以指定字符开始。
    endswith:判断是否以指定字符结束。
    isupper:判断是否全为大写。
    islower:判断是否全为小写。
    isdigit:判断是否全为数字。
    isalnum:判断是否全为字母或汉字或数字。

    s = "---UserName---PassWord---"
    print(s.__contains__("U"))
    print(s.startswith('-'))
    print(s.endswith('-'))
    print(s.isupper())
    print(s.isalnum())
    print(s.isalpha())
    

    输出结果为:

    7、字符串拼接

    常用的拼接方法主要使用逗号、加号拼接,也可以使用join方法拼接。

    s1 = "UserName&PassWord"
    s2 = '--'
    # 使用逗号拼接,中间会有空格
    print("UserName&PassWord", '--')
    # 使用空格拼接
    s3 = "UserName&PassWord" "--"
    print(s3)
    # 使用加号拼接
    s4 = "UserName&PassWord" + "--"
    print(s4)
    # 使用join方法拼接
    print(s2.join(s1))
    # 在字符串中插入新的元素形成新的字符串,引号内为插入的新元素。
    print("-".join(s1))
    

    运行结果为:

    8、其他操作

    常见的其他操作方法:
    len:返回字符串长度。
    lower:将字符串转换为小写字符串。
    uppper:将字符串转换为大写字符串。
    capitalize:将字符串首字母变为大写。
    title:将字符串中每个单词的首字母都变为大写。
    swapcase:将字符串中的字符大小写互换。

    s1 = "UserName&PassWord"
    s2 = '--'
    print(len(s1))
    print(s1.lower())
    print(s1.upper())
    print(s1.swapcase())
    

    输出结果为:

    作者:梦里有阳光

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python中字符串的基本操作

    发表回复