【学Python后赚大钱】字符串常见操作

本文章为笔者学习笔记之用,如有不正确的地方,欢迎指正,非常感谢~

目录

1.count(sub, start = 0, end = len(string))

2.find(str, beg=0, end=len(string))

3.len(str)

4.split/splitlines

5.join

6.strip/lstrip/rstrip

7.replace(old, new,num=max)

8.startswith/endswith

9.isdigit/isalpha/isalnum

10.max/min

11.title//capitalizeistitle

12.lower/upper/swapcase

13.ljust/rjust/center

14.index

15.in/not in

1.count(sub, start = 0, end = len(string))
  • 用法:str.count(sub, start = 0, end = len(string))
  • 作用:查询对象中出现element的次数
  • 字符释义:sub-被查询的字符串

                 start-开始搜索字符串的位置。默认为第一个字符,第一个字符索引值为0。

                 end – 结束搜索字符串的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

:start/end参数只有在字符串调用该方法时可以用,列表和元组调用该方法会报错。

  • 返回值:int整数
  • 使用范围:字符串、列表、元组
str = 'I will be a rich women!'
num1 = str.count('l')
print(num1)
#输出结果为2
num2 = str.count('l',5,7)
#输出结果为1
list_1 = [1,2,3,4,5,6,7,8]
num3 = list_1.count(1)
print(num3)
#输出结果为1
# num4 = list_1.count(1,3,5)
# print(num4)
# #报错
tuple_1 = [1,2,3,4,5,6,7,8]
num5 = tuple_1.count(1)
print(num5)
#输出结果为1
# num6 = tuple_1.count(1,3,5)
# print(num6)
# #报错
2.find(str, beg=0, end=len(string))
  • 用法:str.find(sub, beg=0, end=len(string))
  • 作用:返回str第一个出现sub的索引的位置
  • 字符释义:sub-被查询的字符串

           start-开始搜索字符串的位置。默认为第一个字符,第一个字符索引值为0。

           end – 结束搜索字符串的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

  • 返回值:如果包含子字符串返回开始的索引值,否则返回-1。
  • 使用范围:字符串
str = 'I will be a rich women!'
index1 = str.find('i')
index2 = str.find('l')
index3 = str.find('i',5,10)
print(index1)#输出3
print(index2)#输出4
print(index3)#输出-1
3.len(str)
  • 用法:len(str)
  • 作用:返回字符串的长度
  • 字符释义:str-要计算长度的对象
  • 返回值:int整数
  • 使用范围:字符串、列表、元组
str = 'I will be a rich women!'
list_1 = [1,2,3,4,5,6,7]
tuple_1 = (1,2,3,4)
print(len(str))#输出值23
print(len(list_1))#输出值7
print(len(tuple_1))#输出值4
4.split/splitlines
  • 用法:str.split(sub, num=string.count(str)) / str.splitlines() 
  • 作用:split是按照指定字符分割字符串/splitlines是按照行分割字符串
  • 字符释义:sub-分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等

                num -- 分割次数。默认为 -1, 即分隔所有

  • 返回值:字符串列表
  • 使用范围:字符串
str_1 = '红|橙|黄|绿|青|蓝|紫'
str_2 = '''第一行
第二行
第三行'''
out_1 = str_1.split('|')
out_2 = str_1.split('|',2)
out_3 = str_2.splitlines()
print(out_1)#输出 ['红', '橙', '黄', '绿', '青', '蓝', '紫']
print(out_2)#输出 ['红', '橙', '黄|绿|青|蓝|紫']
print(out_3)#输出 ['第一行', '第二行', '第三行']
5.join
  • 用法:sub.join(str)
  • 作用:如果str是字符串对象,会将sub填充到字符串的每个字符之间;如果str是列表或者元组对象返回连接序列中元素后生成的新字符串。

注:如果连接字符串需要列表元素都是字符串

  • 字符释义:str-要连接eider对象。sub-连接用的字符
  • 返回值:字符串
  • 使用范围:字符串、列表、元组
str_1 = '红橙黄绿青蓝紫'
lis_1 = ['A','B','C','D']
lis_2 = ['A','B',1]
tuple_1 = ('A','B','C','D')
out1 = ','.join(str_1)
out2 = ','.join(lis_1)
#out3 = ','.join(lis_2)
out4 = ','.join(tuple_1)
print(out1) #输出 红,橙,黄,绿,青,蓝,紫
print(out2) #输出 A,B,C,D
#print(out3) #报错
print(out4) #输出 A,B,C,D
6.strip/lstrip/rstrip
  • 用法:str.strip(sub = ' ')/str.lstrip(sub = ' ')/str.rstrip(sub = ' ')
  • 作用:strip-去掉字符串两端的符号,默认为空格;

                lstrip-去掉字符串左边的符号,默认为空格;

                rstrip-去掉字符串右边的符号,默认为空格;

  • 字符释义:str-需要处理的字符串;sub-需要去掉的字符
  • 返回值:字符串
  • 使用范围:字符串
str_1 = '     红橙黄绿青蓝紫     '
str_2 = '***happy!***'
print(str_1.strip()) #输出 ‘红橙黄绿青蓝紫’
print(str_1.lstrip()) #输出 ‘红橙黄绿青蓝紫     ’
print(str_1.rstrip()) #输出 ‘     红橙黄绿青蓝紫’
print(str_2.strip('*')) #输出 ‘happy!’
print(str_2.lstrip('*')) #输出 ‘happy!***’
print(str_2.rstrip('*')) #输出 ‘***happy!’
7.replace(old, new,num=max)
  • 用法:str.replace(old, new,num=max)
  • 作用:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
  • 字符释义:str-要处理的字符串;

                old-要被替换的字符串

                new-要替换成的字符串

                max-替换的次数,默认为old出现的次数,即全部替换,若自己指定的话则替换不超过 max 次

  • 返回值:字符串
  • 使用范围:字符串
str_1 = '喜羊羊美羊羊懒羊羊'
print(str_1.replace('羊','狼')) #输出 喜狼狼美狼狼懒狼狼
print(str_1.replace('羊','狼',3)) #输出 喜狼狼美狼羊懒羊羊
print(str_1.replace('羊','狼',7)) #输出 喜狼狼美狼狼懒狼狼
8.startswith/endswith
  • 用法:str.startswith(sub, beg=0,end=len(string))/str.endswith(sub, beg=0,end=len(string))
  • 作用:startswith检查字符串是否是以指定子字符串开头;endswith检查字符串是否是以指定子字符串结尾
  • 字符释义:str-要检测的字符串对象

                sub-指定的字符串,是否在开头(结尾)

                beg-设置字符串检测的起始位置,默认为0,即起始位置

                end-设置字符串检测的结束位置,默认为字符串结尾

  • 返回值:布尔数,即true或者False
  • 使用范围:字符串
str_1 = '喜羊羊美羊羊懒羊羊'
print(str_1.startswith('喜')) #输出 True
print(str_1.startswith('美')) #输出 False
print(str_1.endswith('羊')) #输出 True
print(str_1.startswith('美',3,9)) #输出 True
print(str_1.endswith('懒',3,7)) #输出 True
9.isdigit/isalpha/isalnum
  • 用法:str.isdigit/str.isalpha/str.isalnum
  • 作用:isdigit-检测字符串中是否全部为数字;isalpha-检测字符串中是否全部为字母;isalnum-检测字符串中是否全部为数字或者字母
  • 字符释义:str-要检测的字符串
  • 返回值:布尔数,即true或者False
  • 使用范围:字符串
str_1 = '@123'
str_2 = '@abc'
str_3 = '@abc123'
str_4 = '123'
str_5 = 'aaa'
str_6 = '123abc'
print(str_4.isdigit()) #输出 True
print(str_1.isdigit()) #输出 False
print(str_6.isdigit()) #输出 False
print(str_5.isalpha()) #输出 True
print(str_2.isalpha()) #输出 False
print(str_6.isalpha()) #输出 False
print(str_6.isalnum()) #输出 True
print(str_4.isalnum()) #输出 True
print(str_5.isalnum()) #输出 True
print(str_3.isalnum()) #输出 False
10.max/min
  • 用法:max(str)/min(str)
  • 作用:返回给定参数的最大/最小值。对于整数类的数据,返回最大/最小值,对于字符类的数据返回asii码最大/最小值的字符。字典则会返回最大/最小键值。
  • 字符释义:str-要找出最大值的对象
  • 返回值:根据给定的参数确定
  • 使用范围:字符串、列表、元组、字典
str_1 = '0123sdfAFSD'
list_1 = [1,5,3,7,9]
list_2 = ['e','5','Y']
tuple_1 = (1,5,3,7,9)
dic_1 = {1:2,2:2,3:1,4:'aa'}
print(max(str_1)) #输出 s
print(max(list_1)) #输出 9
print(max(list_2)) #输出 e
print(max(tuple_1)) #输出 9
print(max(dic_1)) #输出 4
print(min(str_1)) #输出 0
print(min(list_1)) #输出 1
print(min(list_2)) #输出 5
print(min(tuple_1)) #输出 1
print(min(dic_1)) #输出 1
11.title//capitalizeistitle
  • 用法:str.title()/str.capitalize()/str.istitle()
  • 作用:title-返回单词都是以大写开始,其余字母均为小写的字符串;istitle-检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写;capitalize-将字符串的第一个字母变成大写,其他字母变小写
  • 字符释义:str-要处理/检测的字符串对象
  • 返回值:title-返回字符lower串;istitle-返回布尔数,即True或者False
  • 使用范围:字符串
str_1 = 'nothing is impossible!'
str_2 = str_1.title()
print(str_2) #输出 Nothing Is Impossible!
print(str_1.istitle()) #输出 False
print(str_2.istitle()) #输出 True
print(str_1.capitalize()) #输出 Nothing is impossible!
12.lower/upper/swapcase
  • 用法:str.lower()/str.upper()/str.swapcase
  • 作用:lower-转换字符串中所有大写字符为小写字符;upper-转换字符串中所有小写字符为大写字符;swapcase-将大写字母转换为小写字母,小写字母会转换为大写字母
  • 字符释义:str-要处理的字符串对象
  • 返回值:字符串
  • 使用范围:字符串
str_1 = 'ABCDEFGhijklmn'
print(str_1.lower()) #输出 abcdefghijklmn
print(str_1.upper()) #输出 ABCDEFGHIJKLMN
print(str_1.swapcase()) #输出 abcdefgHIJKLMN
13.ljust/rjust/center
  • 用法:str.ljust(width,fillchar= ' ')/str.rjust(width,fillchar= ' ')/str.center(width,fillchar= ' ')
  • 作用:ljust-返回一个原字符串左对齐,并使用字符填充至填充至长度 width的新字符串;rjust-返回一个原字符串右对齐,并使用字符填充至长度 width 的新字符串;center-返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
  • 字符释义:str-要处理的字符串对象

                width - 指定填充指定字符后中字符串的总长度

                fillchar - 填充的字符,默认为空格

  • 返回值:字符串
  • 使用范围:字符串
str_1 = 'nothing is impossible!'
print(str_1.ljust(30)) #输出 ’nothing is impossible!        ‘
print(str_1.rjust(30)) #输出 ’        nothing is impossible!‘
print(str_1.center(30))  #输出 '    nothing is impossible!    '
print(str_1.ljust(30,'W')) #输出 ’nothing is impossible!WWWWWWWW‘
print(str_1.rjust(30,'W')) #输出 ’WWWWWWWWnothing is impossible!‘
print(str_1.center(30,'W'))  #输出 'WWWWnothing is impossible!WWWW'
14.index
  • 用法:str.index(sub,beg = 0,end = len(str))
  • 作用:用于从字符串中找出某个值第一个匹配项的索引位置
  • 字符释义:str-要处理的字符串对象

                sub-要找的字符串

                beg-设置字符串检测的起始位置,默认为0,即起始位置

                end-设置字符串检测的结束位置,默认为字符串结尾

  • 返回值:字符串
  • 使用范围:字符串、列表、元组
str_1 = 'nothing is impossible!'
print(str_1.index('o')) #输出 1
print(str_1.index('o',3,20)) #输出 14
15.in/not in
  • 用法:sub in str/sub not in str
  • 作用:判断字符串中是否有要找的字符串
  • 字符释义:str-要检测的字符串对象

                sub-要找的字符串

  • 返回值:布尔数
  • 使用范围:字符串、列表、元组、字典

注:判断字典时仅判断键值

str_1 = 'nothing is impossible!'
list_1 = [1,2,3,'a']
tuple_1 = [1,2,3,'a']
dic_1 = {'李明':200,'王二':200,'张三':200}
print('nothing' in str_1) #输出 True
print('happy' in str_1) #输出 False
print('nothing' not in str_1) #输出 False
print('happy' not in str_1) #输出 True
print(1 in list_1) #输出 True
print('p' not in list_1) #输出 True
print(1 in tuple_1) #输出 True
print('p' not in tuple_1) #输出 True
print('李明' in dic_1) #输出 True
print('赵四' not in dic_1) #输出 True
print(200 in dic_1) #输出 False

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值