python字符串的一些常见实用操作


Posted in Python onApril 06, 2022
目录

切片——str[start:end]

str1 = ' python str '
#切片
print(str1[3:6])   # str[start:end](下标从 0 开始)从下标为start开始算起,切取到下标为 end-1 的元素,切取的区间为 [start, end)
print(str1[2:8:2]) # str[start:end:step],取 [start, end) 之间的元素,每隔 step 个取一个
print(str1[2:9:2])

tho
yhn
yhns

字符串长度——len(str)

str1 = "aBCd Efgh ijK LmN"
print(len(str1))   # 返回字符串的长度

17

重复字符串 ——1、str * n,2、n * str

#重复字符串   1、str * n,2、n * str, n为一个 int型的数字
str1 = ' python str '
print(str1*2)
print(3*str1)

python str python str
python str python str python str

查找某个字符 or 某个字符子串在不在原字符串中

1、in 关键字

#  in 关键字
str1 = ' python str '
print('p' in str1)
print('py' in str1)
print('py' not in str1)

True
True
False

2、find函数

# str.find(str, start=0, end=len(string))  如果包含子字符串返回开始的索引值,否则返回-1。
str1 = ' python str '
str2 = "python"
print(str1.find(str2))
print(str1.find(str2, 1))
print(str1.find(str2, 5))

1
1
-1

3、index函数

# str.index(str, start=0, end=len(string))  如果包含子字符串返回开始的索引值,否则抛出异常。
str1 = ' python str '
str2 = "python"
print(str1.index(str2))
print(str1.index(str2, 1))
print(str1.index(str2, 5))

1
1Traceback (most recent call last):
File “E:/李明/pycharmProject/深度学习入门/main.py”, line 27, in
print(str1.index(str2, 5))
ValueError: substring not found

4、rfind函数

str11 = " python str  python str "
str2 = "python"
print(str11.rfind(str2))
print(str11.rfind(str2,10,len(str11)))   #  str.rfind(substr, start,end) 类似于 find()函数,不过是从右边开始查找.

5、rindex函数

str11 = " python str  python str "
str2 = "python"
print(str11.rindex(str2))  #  str.rindex(substr, start,end)类似于 index(),不过是从右边开始.
print(str11.rindex(str2,10,len(str11)))

字符串中某字符(子字符串)的数量——str.count(sub, start= 0,end=len(string))

str = "li hua shi ge huai hai zi"
print(str.count('i', 0, 15))   # str.count(sub, start= 0,end=len(string))
print(str.count('i'))
print(str.count('shi'))

2
5
1

去除空格——str.strip()、str.lstrip()、str.rstrip()

str1 = ' python str '
print (str1)   
print (str1.strip())     # 去首尾空格
print (str1.lstrip())    # 去左侧空格
print (str1.rstrip())    # 去右侧空格

结果:

python字符串的一些常见实用操作

分割字符串——str.split()

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split())      # 默认使用空格分隔
print (str1.split(' '))    # 指定使用空格进行分隔,首尾如果有空格,则会出现在结果中
print (str1.split(','))    # 指定其他字符串进行分隔,指定,分割
print (str1.split('3 ,'))  # 指定  3 , 分割

[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
[‘1’, ‘,’, ‘2’, ‘,’, ‘3’, ‘,’, ‘4’, ‘,’, ‘5’]
['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 , 2 , ‘, ’ 4 , 5’]

以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 次

str1 = '1 , 2 , 3 , 4 , 5'
print (str1.split(','))    # 指定其他字符串进行分隔,指定,分割
print (str1.split(',',3))

['1 ', ’ 2 ', ’ 3 ', ’ 4 ‘, ’ 5’]
['1 ', ’ 2 ', ’ 3 ‘, ’ 4 , 5’]

替换字符串——str.replace(old, new, max)

# str.replace(old, new, max)  字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str1 = "li hua shi ge huai hai zi,li hua shi ge huai hai zi"
print(str1.replace("ai", "PL"))
print(str1.replace("ai", "PL", 3))

li hua shi ge huPL hPL zi,li hua shi ge huPL hPL zi
li hua shi ge huPL hPL zi,li hua shi ge huPL hai zi

判断字符串是否以指定前缀、后缀结尾

是否是指定前缀——str.startswith(str, start=0,end=len(string))

# str.startswith(str, start=0,end=len(string)),检查字符串[start,end)以指定子字符串开头,如果是则返回 True,否则返回 False
str1 = "this is string example....wow!!!"
print(str1.startswith('this'))      
print(str1.startswith('is', 2, 4))    
print(str1.startswith('his', 1, 3))

True
True
False

是否是指定后缀——str.endswith(suffix, start, end)

# str.endswith(suffix, start, end),检查字符串[start,end)以指定后缀结尾,是返回True,否则返回False
str1 = "this is string example....wow!!!"
str2 = "wow!!!"
print (str1.endswith(str2))        # True
print (str1.endswith(str2,20))      # True
str2 = "is"
print (str1.endswith(str2, 2, 4))   # True
print (str1.endswith(str2, 2, 6))   # False
print (str1.endswith(str2, 2, 7))   # True

True
True
True
False
True

将字符串的第一个字母变成大写,其他字母变小写——str.capitalize()

str1 = "aBCd Efgh ijK LmN"
print(str1.capitalize())  # 将字符串的第一个字母变成大写,其他字母变小写

Abcd efgh ijk lmn

转换字符串中所有大写字符为小写,将字符串中的小写字母转为大写字母——str.lower()、str.upper()

str1 = "aBCd Efgh ijK LmN"
print(str1.lower())   # 转换字符串中所有大写字符为小写
print(str1.upper())  # 将字符串中的小写字母转为大写字母

abcd efgh ijk lmn
ABCD EFGH IJK LMN

对字符串的大小写字母进行转换——str.swapcase()

str1 = "aBCd Efgh ijK LmN"
print(str1.swapcase())  # 对字符串的大小写字母进行转换

AbcD eFGH IJk lMn

返回字符串 str 中最小(大)的字母 ( ASCII码比大小)——max(str)、min(str)

str1 = "aBCd Efgh ijK LmN"
print(max(str1))   # 返回字符串 str 中最大的字母
print(min(str1))   # 返回字符串 str 中最小的字母  此实例是空格最小 ASCII码

m
  (空格最小)

把字符串的每个单词首字母大写——str.title()

str1 = "aBCd Efgh ijK LmN"
print(str1.title())   # 把字符串的每个单词首字母大写

Abcd Efgh Ijk Lmn

检测字符串组成

检测数字——str.isdigit()、str.isnumeric()、str.isdecimal()

str1 = "123456"
print(str1.isdigit())    # 检测字符串是否只由数字组成
print(str1.isnumeric())  # 检测字符串是否只由数字组成,这种方法是只针对unicode对象
print(str1.isdecimal())  # 检查字符串是否只包含十进制字符。这种方法只存在于unicode对象

检测字母——str.isalpha()

str1 = "abcd"
print(str1.isalpha())   # 检测字符串是否只由字母组成

检测字母和数字——str.isalnum()

str1 = "123456abcd"
print(str1.isalnum())   # 检测字符串是否由字母和数字组成

检测其他

str.isspace()   # 检测字符串是否只由空格组成
str.islower()   # 检测字符串是否由小写字母组成
str.isupper()   # 检测字符串中所有的字母是否都为大写
str.istitle()   # 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

这几个就不举例子了

填充字符串 (左填充、右填充、居中填充)——str.rjust(width)、str.rjust(width)、str.rjust(width)

str1 = "abcd"
print(str1.ljust(10))   # str.rjust(width)  返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
print(str1.rjust(10))   # str.rjust(width)  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
print(str1.center(10))   # str.rjust(width)  返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

abcd      
       abcd
    abcd    

把字符串分割成三部分,子字符串前的、子字符串、子字符串后的——str.partition(substr)、str.rpartition(substr)

str1 = "abcdefghijklmnabcdefghijklmn"
str2 = "efg"
print(str1.partition(str2))  # str.partition(substr) 返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
print(str1.rpartition(str2))  #类似于 partition()函数,不过是从右边开始

(‘abcd’, ‘efg’, ‘hijklmnabcdefghijklmn’)
(‘abcdefghijklmnabcd’, ‘efg’, ‘hijklmn’)

join函数

# str.join()方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
str = '-'
seq = ("a", "b", "c"); # 字符串序列
print(str.join(seq))  # 'a-b-c'

a-b-c

总结

到此这篇关于python字符串的一些常见实用操作的文章就介绍到这了,更多相关python字符串操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python使用MD5加密字符串示例
Aug 22 Python
跟老齐学Python之类的细节
Oct 13 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
pytorch构建多模型实例
Jan 15 Python
Django模板获取field的verbose_name实例
May 19 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
Django数据统计功能count()的使用
Nov 30 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
Python之qq自动发消息的示例代码
Feb 18 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 #Python
Python Numpy库的超详细教程
进行数据处理的6个 Python 代码块分享
Apr 06 #Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 #Python
Python利用capstone实现反汇编
关于Python中进度条的六个实用技巧分享
如何在Python中妥善使用进度条详解
Apr 05 #Python
You might like
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
php smarty函数扩展
2010/03/15 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
msn上的tab功能Firefox对childNodes处理的一个BUG
2008/01/21 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
[00:27]DOTA2次级职业联赛 - Lilith战队宣传片
2014/12/01 DOTA
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python处理CSV与List的转换方法
2018/04/19 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
python实现简单颜色识别程序
2020/02/19 Python
Django框架请求生命周期实现原理
2020/11/13 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
直接有效的自我评价
2014/01/11 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
教师党员整改措施
2014/10/24 职场文书
2015年国培研修感言
2015/08/01 职场文书
elementui的el-popover修改样式不生效的解决
2021/06/30 Javascript
nginx搭建NFS网络文件系统
2022/04/14 Servers
springboot读取resources下文件的方式详解
2022/06/21 Java/Android