写点什么

软件测试|Python 字符串的这些操作,你可都学会了?

  • 2023-11-01
    北京
  • 本文字数:2334 字

    阅读完需:约 8 分钟

前言

字符串是 Python 的基本数据类型之一,学习任何一种语言都需要先了解其基本的数据类型,本篇文章就来为大家讲解一下 Python 字符串的相关操作。

字符串

Python 中字符串是一种名为序列的数据结构。python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。


  • 拼接

  • 分割

  • 查找

  • 对比

  • 赋值

  • 截取

字符串拼接

字符串的拼接可以通过科学计算符(+,*),也可以通过内置方法 join 来实现。代码如下:


s='hello'*2                                         # 用乘法重叠print(s)

s='hello'+'world' # 用加号拼接print(s)

a='world' # 用join 拼接s=''.join(a)print(s)----------------------------结果依次为:hellohellohelloworldworld
复制代码

字符串切片

字符串作为序列的一种,当然也可以使用序列的切片操作,序列[开始位置下标:结束位置下标:步长] ,不包含结束位置下标数据,步长为选取间隔,正负均可,默认为 1,示例代码如下:


s = 'abcdefghijklmn'print(s[0:4]) # 包括起始值(元素)不包括结束值,默认步进值为1print(s[0:8:2]) # 设置步进值为2 提取print(s[5:]) # 当一边没有指定时,就取到边界print(s[:6])print(s[1:-1]) # 从结尾提取,下标从-1开始print(s[-6:])print(s[:]) # 表示全选print(s[::-1]) # 使其中的元素 倒叙排列------------------------------------结果如下:abcdacegfghijklmnabcdefbcdefghijklmijklmnabcdefghijklmnnmlkjihgfedcba
复制代码

字符串分割

字符串分割返回一个列表对象,将目标内容连接。示例代码如下:


s = 'theshy is the best top_lane player in the LOL history.'# 按空格切割print(s.split(' '))# 按字符e切割print(s.split('e'))# 按空格切割 并指定切割次数,3次print(s.split(' ', 3))# 从右面开始切割,切割2次print(s.rsplit(' ', 4))# 按行切割poem = '''日照香炉生紫烟遥看瀑布挂前川飞流直下三千尺疑是银河落九天'''print(poem.splitlines())
----------------------------------------------输出结果如下:['theshy', 'is', 'the', 'best', 'top_lane', 'player', 'in', 'the', 'LOL', 'history.']['th', 'shy is th', ' b', 'st top_lan', ' play', 'r in th', ' LOL history.']['theshy', 'is', 'the', 'best top_lane player in the LOL history.']['theshy is the best top_lane player', 'in', 'the', 'LOL', 'history.']['日照香炉生紫烟', '遥看瀑布挂前川', '飞流直下三千尺', '疑是银河落九天']
复制代码

字符串查找

从一个字符串 s 中查找另一个字符串或字符第一次出现的下标位置,找不到返回 -1.


s='abcdedjcjdlslk's1 = 'abc'# 返回第一次出现abc的位置下标0print(s.find(s1))# 返回第一次出现 j 的位置下标6print(s.find('j'))# 从下标位置2开始查找,找到返回第一次出现的位置下标print(s.find('j', 2))# 从下标位置7开始查找print(s.find('j', 7))# 从下标位置10开始查找,没有返回-1print(s.find('j', 10))
---------------------------结果如下:0668-1
复制代码

赋值

s = 'abcdef's = list(s)s[1] = 'E's = ''.join(s)print(s)
s = s[0:1] + 'E' + s[2:]print(s)
s = s.replace('b', 'E')print(s)
s = 'aEcdef'print(s)
-------------------结果如下:aEcdefaEcdefaEcdefaEcdef
复制代码

截取

mystring = '12345abcde' print('截取第1位到第5位的字符:', mystring[0:5])                 # 截取第1位到第5位的字符 print('截取字符串的全部字符', mystring[:])                      # 截取字符串的全部字符 print('截取第5个字符到结尾:', mystring[5:])                     # 截取第6个字符到结尾 print('截取从头开始到倒数第3个字符之前:', mystring[:-3])        # 截取从头开始到倒数第3个字符之前 print('截取第5个字符;', mystring[4])                            # 截取第5个字符 print('截取倒数第3个字符:', mystring[-3])                       # 截取倒数第3个字符 print('截取倒数第3位与倒数第1位之前的字符;', mystring[-3:-1])   # 截取倒数第3位与倒数第1位之前的字符 print('截取倒数第三位到结尾:', mystring[-3:])                   # 截取倒数第三位到结尾 print('逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1:', mystring[:-5:-1])   # 逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1 print('逆序截取从倒数第1个到倒数第5个,步长为1,默认begin为0:', mystring[:-5:1])     # 逆序截取从倒数第5个到倒数第2个,步长为1,默认begin为0 print('逆序截取全部字符:', mystring[::-1])                      # 逆序输出全部字符 print('逆序截取倒数第3个到倒数第10个,步长为3:', mystring[-3:-10:-3])  #逆序截取倒数第3个到倒数第10个,步长为3---------------------------------------------------------------输出结果如下:截取第1位到第5位的字符: 12345截取字符串的全部字符 12345abcde截取第5个字符到结尾: abcde截取从头开始到倒数第3个字符之前: 12345ab截取第5个字符; 5截取倒数第3个字符: c截取倒数第3位与倒数第1位之前的字符; cd截取倒数第三位到结尾: cde逆序截取从倒数第1个到倒数第5个,步长为-1,默认begin为-1: edcb逆序截取从倒数第1个到倒数第5个,步长为1,默认begin为0: 12345逆序截取全部字符: edcba54321逆序截取倒数第3个到倒数第10个,步长为3: c52
复制代码

总结

本文介绍了 Python 字符串的相关操作,字符串的操作是 Python 基础的知识,需要牢牢掌握,本文存在不足之处,欢迎大家留言拍砖。


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|Python字符串的这些操作,你可都学会了?_霍格沃兹测试开发学社_InfoQ写作社区