您现在的位置是:网站首页> 编程资料编程资料

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

2023-05-26 389人已围观

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

切片——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()) # 去右侧空格 

结果:

分割字符串——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()) # 检测字符串是否由字母和数字组成 

检测其他

提示:
                    本文由整理自网络,如有侵权请联系本站删除!
                    
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!

-六神源码网