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解析xml文件操作实例
Oct 05 Python
详解Python中的Cookie模块使用
Jul 06 Python
python线程池(threadpool)模块使用笔记详解
Nov 17 Python
python实现发送邮件功能代码
Dec 14 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
Python上下文管理器全实例详解
Nov 12 Python
使用python切片实现二维数组复制示例
Nov 26 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
python中return如何写
Jun 18 Python
浅谈matplotlib默认字体设置探索
Feb 03 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
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
js验证表单大全
2006/11/25 Javascript
document.documentElement && document.documentElement.scrollTop
2007/12/01 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
Python set集合类型操作总结
2014/11/07 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
市场部经理岗位职责
2014/04/10 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
迟到检讨书2000字(精选篇)
2014/10/07 职场文书
生日答谢词
2015/01/05 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
2016年元旦致辞
2015/08/01 职场文书
浅谈如何保证Mysql主从一致
2022/03/13 MySQL