软件测试|Python字符串的这些操作,你可都学会了?
  X7HGjGJ7MG9G 2023年11月02日 34 0

前言

字符串是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@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  zzwpYXrztNx3   2023年12月06日   22   0   0 re模块bc元字符
  xVpghvCvc9NK   2023年11月02日   64   0   0 数组字符串PHP
  JiJ96DoSHEh4   2023年11月19日   26   0   0 bashbcsed
X7HGjGJ7MG9G
最新推荐 更多