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

举报
霍格沃兹测试开发 发表于 2023/02/15 16:11:37 2023/02/15
【摘要】 前言字符串是Python的基本数据类型之一,学习任何一种语言都需要先了解其基本的数据类型,本篇文章就来为大家讲解一下Python字符串的相关操作。 字符串Python中字符串是一种名为序列的数据结构。python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。拼接分割查找对比赋值截取 字符串拼接字符串的拼接可以通过科学计算符(+,*),也可以通过内置方法j...

前言

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

字符串

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

  • 拼接
  • 分割
  • 查找
  • 对比
  • 赋值
  • 截取

字符串拼接

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

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


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


a='world'                                           
# 用join 拼接
s=''.join(a)
print(s)
----------------------------
结果依次为:
hellohello
helloworld
world

字符串切片

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

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

字符串分割

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

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的位置下标0
print(s.find(s1))
# 返回第一次出现 j 的位置下标6
print(s.find('j'))
# 从下标位置2开始查找,找到返回第一次出现的位置下标
print(s.find('j', 2))
# 从下标位置7开始查找
print(s.find('j', 7))
# 从下标位置10开始查找,没有返回-1
print(s.find('j', 10))

---------------------------
结果如下:
0
6
6
8
-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)

-------------------
结果如下:
aEcdef
aEcdef
aEcdef
aEcdef

截取

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基础的知识,需要牢牢掌握,本文存在不足之处,欢迎大家留言拍砖。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。