【2023年】第23天 字符串常用方法
2023/4/1 23:22:01
本文主要是介绍【2023年】第23天 字符串常用方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、字符串常用方法
1.capitalize()
功能:使用字符串的首字母大写,字符串中其他字符小写。
用法:string.capitalize() --无参数
注意事项:字符串定义后是无法修改的,只能拿到原始的字符串之后再生成新的字符串。如果字符串中的内容是中文,则使用capitalize方法不会发生变化。
weather = 'it is April in St. Petersburg and it is still snowing.' new_weather = weather.capitalize() print(weather, new_weather)
2.count()
功能:返回当前字符串中某个元素的个数
用法:string.count(item)
参数:item表示需要被查询个数的元素
注意事项:如果查询的元素不存在的话,返回0
info = ''' Mathematics is a very beautiful language. It is also a subject that everyone who studies computing must be exposed to. ''' a = info.count('a') b = info.count('b') c = info.count('c') d = info.count('d') print(a, b, c, d) list_storage = [a, b, c, d] print(list_storage) print('The largest value in the list: ', max(list_storage)) dict_storage = { 'a': a, 'b': b, 'c': c, 'd': d } print('The corresponding values for each member are: ', dict_storage)
3.find() index()
功能:二者都用于查找元素
用法:
string.find(item) – item是想查询的元素
string.index(item) --item是想查询的元素
二者对比:
如果find找不到元素,会返回-1
如果index找不到元素,会直接报错
注意事项:字符串里的位置是从左到右,而且是从0开始的
info = 'optimization_theory' new_info = info[:: -1] # 倒序索引 print(new_info) result1 = new_info.find('ti') print(result1) result2 = new_info.index('it') print(result2)
4.format()
格式化注意事项:
字符串格式化使用操作符%实现。
格式化字符串与格式符变量之间用一个%连接,%两边有一个空格。
对应格式符的变量,变量与格式符顺序一一对应,数量保持一致,超过一个格式化变量要使用小括号包裹。
格式化函数format
用法:string.format()
使用format的字符串主体使用{}大括号替代格式符
python3.6之后加入新格式化方案 f - string
字符串前加f符号
需要格式化的位置使用{变量名},这里是直接再{}中加入定义好的变量名
方法一:使用 % 替代已经定义的变量 name = 'xg' age = 3 info1 = 'my name is %s, my age is %s' print(info1 % (name, age))
方法二:使用format函数 name = 'xg' age = 5 info2 = 'my name is {}, my age is {}' print(info2.format(name, age))
方法三:使用f - string name = 'xg' age = 7 info3 = f'my name is {name}, my age is {age}' print(info3)
5.格式化符号
%c 格式化字符 %u 格式化无符号整形(正整形) %f 格式化浮点型 %d 格式化整形 %s 格式化字符串,通用类型 %o 格式化无符号八进制 %x 格式化无符号16进制数,16进制下使用A-F来表示10-15,字母不区分大小写。 %e 科学计数法格式化浮点数
6.转义字符
什么是转义字符?
字符要转成其他含义字符的功能
\ + 字符
在python中,字符串加r来将字符串的转义字符无效化
符号 | 说明 |
---|---|
\n | 换行,一般用于末尾 |
\t | 一个间隔符(横向制表符) |
\v | 男性符号(纵向制表符) |
\b | 退格符,将光标前移,覆盖(删除前一个) |
\r | 回车 |
’ | 转义字符串中的单引号 |
\ | 转义斜杠 |
7.replace()
功能:将字符串中的旧元素替换成新元素,并指定替换的数量
用法:string.replace(old, new, max)
参数:
old表示被替换的元素
new表示替换的元素
max可选,代表替换几个,默认全部替换
info = ('The role of optimization theory in machine learning is huge. \n' 'The two complement each other.') a = 'The' b = 'of' c = '*' d = '$' test = info.replace(a, c).replace(b, d) print(test)
8.zfill()
功能:为字符串定义长度,如不满足,缺少的部分用0填补
用法:string.zfill(width)
参数:width是新字符串希望的宽度
注意事项:与字符串的字符无关,如果定义长度 < 当前字符串的长度,则不发生变化
heart = 'love' if __name__ == '__main__': print(' t ' + heart) print('t ' + heart) print(heart.zfill(10)) print(heart.zfill(9)) print(heart.zfill(8)) print(heart.zfill(6)) print(heart.zfill(4))
可以使用zfill使得字符串heart前一直补0,然后画出一个类似于♥一半的形状
9.strip()
功能:去掉字符串左右两边的指定元素,默认是空格
用法:string.strip(item)
参数:item表示我们想要去掉的元素,也可以不填,保持默认
拓展:
传入的元素如果不在开头或者结尾,则strip方法无效
lstrip表示仅去掉字符串开头的指定元素或空格
rstrip表示仅去掉字符串结尾的指定元素或空格
# 使用strip去掉字符串两边的空格 info = ' my name is dewei ' new_info = info.strip() print('.' + new_info + '.') # 去掉指定的元素 info_01 = 'my name is xg' new_info_01 = info_01.strip(info_01) print(new_info_01) print(len(new_info_01)) # 去掉开头或者结尾的元素 # 总结:lstrip和rstrip分别是去首尾元素,strip是去两侧元素 info2 = '1234561' print(info2.strip('1')) print(info2.lstrip('1')) print(info2.rstrip('1'))
10.isspace() istitle() isupper() islower()
isspace
功能:判断字符串是否是一个由空格组成的字符串
用法:string.isspace() --无参数,返回布尔类型
注意事项:由空格组成的字符串,并不是空字符串
istitle
功能:判断字符串是否是一个标题
用法:string.istitle() – 无参数,返回布尔类型
注意事项:只能用于英文,判断是否是标题的方法是首字母是大写,而且其他字母应该是小写
isupper() islower()
功能:isupper判断字符串中的字母是否都是大写
islower判断字符串里的字母是否都是小写
用法:string.isupper() --无参数,返回布尔类型
string.islower() – 无参数,返回布尔类型
注意事项:只检测字符串里的字母,对其他字符不做判断
join() split
常用于数据类型的转换
info = 'Machine Leaning' print(info.isspace()) print(info.istitle()) print(info.isupper()) print(info.islower())
11.lower() casefold()
功能:使得字符串小写
用法:string.lower() string.casefold()
注意事项:字符串类型是一个不可以改变的数据类型
info = 'HOW ARE YOU' print(info.lower()) print(info.casefold())
12.upper()
功能:使得字符串全部变为大写
注意事项:源字符串不会发生变化,因为字符串类型是不可变数据类型
info = 'how are you' print(info.upper())
13.swapcase()
功能:使字符串中大小写字母进行替换
注意事项:只对字符串中的字母有效,符号以及数字符号不会发生变化
info = 'How Are You' print(info.swapcase())
14.startwith endswith
功能:
startwith 判断字符串开始位置是否是某元素
endswith 判断字符串结尾是否是某元素
用法:
string.startwith(item) --item 我们需要查询匹配的元素,返回布尔值
string.endswith(item) --item 我们需要查询匹配的元素,返回布尔值
参数:
可以传入开头字符串以及结尾字符串,也可以传入整个字符串,当传入整个字符串的社会,相当于bool()方法
info = 'how are you' result = info.startswith('how') result1 = info.startswith('are') result2 = info.endswith('you') print(result, result1, result2)
二、总结
1.大多数方法的语法都是string.方法名()
2.字符串类型是不可变类型,不管使用的是哪个字符串方法,都是生成了新的字符串
这篇关于【2023年】第23天 字符串常用方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南