[转载] Python str方法
参考链接: Python字符串方法3(strip,lstrip,rstrip,min,max,maketrans,translate,replace和expandtabs())
Python str常用方法
一、字母处理
1、全部大写:str.upper()
str1 = 'nostalgia'
str2 = str1.upper()
print(str2)
NOSTALGIA
2、全部小写:str.lower()
str1 = 'NOSTALGIA'
str2 = str1.lower()
print(str2)
nostalgia
3、大小写互换:str.swapcase
str1 = 'No Smouking'
str2 = str1.swapcase()
print(str2)
nO sMOUKING
4、首字母大写,其余小写:str.capitalize()
str1 = 'nostalgia fly'
str2 = str1.capitalize()
print(str2)
Nostalgia fly
5、首字母大写:str.title()
str1 = 'nostalgia fly'
str2 = str1.title()
print(str2)
Nostalgia Fly
6、应对所有字母的小写:str.casefold()
str.lower() 只能转换ASCII字母。
str1 = 'NOSTALGIA'
str2 = str1.casefold()
print(str2)
nostalgia
二、格式化
字符串格式化:str.format()
1,无参数
print("{}喜欢{}".format('tom','打球')) #不指定位置
print(('{0}除了{1}还是{1}').format('tom','打球') ) #指定位置
tom喜欢打球
tom除了打球还是打球
2,设置参数
dict1 = {'name':'tom','play':'打球'}
print('{name}非常喜欢{play}'.format(name='tom',play='打球'))
print('{name}非常喜欢{play}'.format(**dict1)) #通过字典设置
print('{0[0]}非常喜欢{0[1]}'.format(['tom','打球'])) #通过列表设置
tom非常喜欢打球
tom非常喜欢打球
tom非常喜欢打球
test = 'i am {name}, age {a}'
v1 = test.format(name='df',a=10)
v2 = test.format_map({"name": 'alex', "a": 19}) #字典
print(v1)
print(v2)
i am df, age 10
i am alex, age 19
对数字的格式化
print('{:.2f}'.format(3.1415926))
3.14
{:.2f}—保留小数点后两位;{:+.2f}—带符号保留小数点后两位{:.0f}—不带小数{:0>5d}—数字补零 (右对齐, 宽度为5,剩余以0填充){:a<5d}—数字补a (左对齐, 宽度为5,剩余以a填充){:,}—以逗号分隔的数字{:.2%}—转换百分制并保留小数点后2位{:.2e}—指数计数并保留小数点后2位{:^10d}—中间对齐
字符串对齐
1、左对齐:str.ljust(width[, fillchar])
参数:width – 指定字符串长度;fillchar – 填充字符,默认为空格。
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
str1 = 'NOSTALGIA'
str2 = str1.ljust(20,'人')
print(str2)
NOSTALGIA人人人人人人人人人人人
2、右对齐:str.rjust(width[, fillchar])
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
str1 = 'NOSTALGIA'
str2 = str1.rjust(20,'&')
print(str2)
&&&&&&&&&&&NOSTALGIA
3、居中:str.center(width[, fillchar])
该方法返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。
str1 = 'NOSTALGIA'
str2 = str1.center(20,'@')
print(str2)
@@@@@NOSTALGIA@@@@@@
4、右对齐,以“0”填充:str.zfill(width)
返回指定长度的字符串,原字符串右对齐,前面填充0。
str1 = 'NOSTALGIA'
str2 = str1.zfill(22)
print(str2)
0000000000000NOSTALGIA
字符串断句:str.expandtabs(tabsize=8)
test1 = 'kkkkkkkl\t'
test2 = 'name\tage\tgender\ttom\t23\tmale\tlucy\t18\t'
print(test1.expandtabs(20))
print(test2.expandtabs(20))
kkkkkkkl
name age gender tom 23 male lucy 18
三、字符串搜索
1、检测字符串中是否包含子字符串 :str.find(str, beg=0, end=len(string))
参数
str – 指定检索的字符串beg – 开始索引,默认为0。end – 结束索引,默认为字符串的长度。 如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
str1 = 'NOSTALGIA'
str2 = str1.find('no')
print(str2)
-1
str1 = 'NOSTALGIA'
str2 = str1.find('AL')
print(str2)
4
str1 = 'NOSTALGIA'
str2 = str1.find('AL',5)
print(str2)
-1
2、查找字符串最后一次出现的位置(从右向左查询)str.rfind(str, beg=0 end=len(string))
与find查看顺序相反
str1 = 'NOSTALGIAL'
str2 = str1.rfind('AL')
print(str2)
8
str1 = 'NOSTALGIAL'
str2 = str1.find('AL')
print(str2)
4
3、统计子字符串出现次数:str.count(sub, start= 0,end=len(string))
可选参数为在字符串搜索的开始与结束位置
str1 = 'NOSTALGIAL'
str2 = str1.count('AL')
print(str2)
2
4、index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内.
该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
str1 = 'NOSTALGIAL'
str2 = str1.index('oL')
print(str2)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-31-953941da824f> in <module>()
1 str1 = 'NOSTALGIAL'
----> 2 str2 = str1.index('oL')
3 print(str2)
ValueError: substring not found
5,通用方法
(1)获取字符串长度
test = 'wayjdsji124'
print(len(test))
11
(2)索引与下标
test = 'hello world'
print(test[3])
l
(3)切片
test = 'hello world'
print(test[:])
print(test[:-1])
print(test[3:-2])
hello world
hello worl
lo wor
(4)取出字符串每个字符
test = 'hello world'
for i in test:
print(i)
h
e
l
l
o
w
o
r
l
d
四、替换
1,字符串中的 old(旧字符串) 替换成 new(新字符串):str.replace(old, new[, max])
如果指定第三个参数max,则替换不超过 max 次。
str1 = "This is a good new.That is so bad.It is a big apple.It is a dog."
str2 = str1.replace("is","was",3)
print(str2)
Thwas was a good new.That was so bad.It is a big apple.It is a dog.
2,对应关系替换
test = "abcde"
test1 = "12345"
sjd = "ayewurbnsmrcksjfdorkgelg"
qwe = str.maketrans("abcde", "12345")
new_sjd = sjd.translate(qwe)
print(new_sjd)
1y5wur2nsmr3ksjf4orkg5lg
五、字符串去除指定字符
1、移除头尾指定字符(默认空格):str.strip([chars])
str1 = '**** beauty ********'
str2=str1.strip("*")
print(str2)
print(str2.strip())
beauty
beauty
2、去左侧指定字符(默认空格):str.lstrip([chars])
str1 = '**** beauty ********'
str2=str1.lstrip("*")
print(str2)
beauty ********
2、去左侧指定字符(默认空格):str.rstrip([chars])
str1 = '**** beauty ********'
str2=str1.rstrip("*")
print(str2)
**** beauty
字符串分割
1、将字符串分割为列表:str.split(str=”“, num=string.count(str))
如果参数num 有指定值,则仅分隔 num+1 个子字符串
str1 = 'safdfg\nsfegewh\n12341y\n'
list1 = str1.split('\n',3)
print(list1)
['safdfg', 'sfegewh', '12341y', '']
2,根据指定的分隔符将字符串分割成三元数组:str.partition(str)
test = 'yourswater'
print(test.partition('s'))
('your', 's', 'water')
3,按照行(‘\r’, ‘\r\n’, \n’)将字符串分割成列表:str.splitlines([keepends])
keepends – 在输出结果里是否去掉换行符(‘\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。
str1 = 'ab c\n\nde fg\rkl\r\n'
print(str1.splitlines(False))
str2 = 'ab c\n\nde fg\rkl\r\n'
print(str2.splitlines(True))
['ab c', '', 'de fg', 'kl']
['ab c\n', '\n', 'de fg\r', 'kl\r\n']
七、字符串判断
1、以指定字符串开头:str.startswith(str, beg=0,end=len(string));
str1 = 'jefrewpflmspemg42sd'
print(str.startswith("w",5))
True
2、以指定字符串结尾:str.endswith(suffix[, start[, end]])
str1 = 'isoaldsjfj123ksl'
print(str1.endswith('s',3,-1))
True
3、检测字符串是否由字母和数字组成:str.isalnum()
str1 = 'fewf125hreh'
print(str1.isalnum())
True
4、检测字符串是否只由字母组成:str.isalpha()
str1 = 'sjdgnewombdfg'
print(str1.isalpha())
True
5、检测字符串是否只由数字组成:str.isdigit() 不能有任何字符,包括”.”
str1 = '3141592653'
print(str1.isdigit())
True
6、检测字符串是否由小写字母组成:str.islower()
str1 = 'sjfewovdogj'
print(str1.islower())
True
7、检测字符串是否全由大写字母组成:str.isupper()
str1 = 'USJEKKGHXKD'
print(str1.isupper())
True
八、连接
str.join(sequence) 将序列中的元素以指定的字符连接生成一个新的字符串
参数sequence -- 要连接的元素序列;
list1 = ['hels','sdfg','dsg','345']
dict1 = {'god':'sdf','dgg':'we','ewr':'435'}
tup1 = ('ty','rj','45')
s1 = {'we','34','12'}
print('-'.join(list1))
print('-'.join(dict1))
print('-'.join(tup1))
print('-'.join(s1))
hels-sdfg-dsg-345
god-dgg-ewr
ty-rj-45
34-12-we
[转载] Python str方法相关推荐
- [转载] python isinstance()方法的使用
参考链接: Python isinstance() python isinstance()方法的使用 描述 Python中的 isinstance() 函数,是Python中的一个内置函数,用来判断一 ...
- [转载] python字符串方法有哪些_27种Python字符串操作方法大全
参考链接: Python字符串方法3| strip,lstrip,rstrip,min,max,maketrans,translate,replace和expandtabs 1.去空格及特殊符号 代码 ...
- [转载] Python max() 方法
参考链接: Python max() 描述 Python max() 方法返回字符串中最大的字母(26个字母中最大的是Z). 语法 max() 方法语法: max(S) 参数 S -- 字符串. 返回 ...
- [转载] Python str title()方法
参考链接: Python 字符串String title 方法 目录 描述 语法 参数 返回值 使用示例 注意事项 1. 当字符串中的每个单词首字符本身就是大写 2. 当"单词"的 ...
- [转载] python 字符串方法大全
参考链接: Python字符串| rpartition 4.7.1.字符串方法 字符串实现所有常见的序列操作,以及下面描述的其他方法. 字符串还支持两种类型的字符串格式化的,一个提供了很大程度的灵活性 ...
- python str方法的用法_Python基础之str常用方法、for循环
初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正! 一.字符串的索引与切片 注:字符串的第一位的索引值是0 1.索引案例 1 s = 'abcd' 2 s1 =s[0]3 ...
- [转载] [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法
参考链接: Python字符串| 十六进制 hexdigits 参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专 ...
- [转载] Python中字符串的处理方法
参考链接: Python字符串方法1(find,rfind,startwith,endwith,islower,isupper,lower,upper,swapcase和title) 1.字符串 1 ...
- [转载] python 去除字符串的标点符号 用_Python成为专业人士笔记–String字符串方法
参考链接: Python的字符串Strings decode "专业人士笔记"系列目录: 创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.z ...
最新文章
- 代码 设计 生活 (2)--- 菜鸟
- 自适应分辨率可扩展二层JS下拉菜单
- 1060. [ZJOI2007]时态同步【树形DP】
- ubifs linux,ubifs使用方法
- TUM数据集制作BundleFusion数据集
- 第一范式,第二范式,第三范式,BCNF范式理解
- Android静态安全检测 - Broadcast Receiver组件暴露
- Struts2请求处理流程及源码分析
- linux记录iptables日志,linux – 如何配置syslog.conf文件,在单独的文件中记录iptables消息?...
- python练习题及答案-听说你python基础入门了?100个经典练习题送给你(附完整答案)...
- UI_UISlider控件
- 利用扩展双屏技术及Chrome浏览器,快速剖析优秀网页Div及CSS构成,并高效实现原型创作
- 316.去除重复字母
- vueAdmin-template-master十次方后台项目前端(已经完成初始化)下载地址
- 《代码整洁之道》读书笔记
- duet设置_Duet Display 使用体验 - iPad 变身扩展屏幕
- WiFi之SDIO接口
- 2009年9月手机搜索热门关键词排行榜
- 0.1 番外篇: UML 类图
- 微信小程序静态页面的实现
热门文章
- Java使用IntelliJ IDEA创建一个基于Swing的GUI图形化程序,打包发布为jar
- linux 会不会受到永恒之蓝漏洞,永恒之蓝漏洞复现(ms17-010)
- append在python中是什么意思_append在python里是什么意思
- vs cpp代码 添加汇编_C++ 汇编代码查看
- JAVA I/O基本操作
- 实验4 数据库的连接查询
- 入侵检测技术目的-发现黑客
- bzoj 1179: [Apio2009]Atm(Trajan+SPFA)
- bzoj 1642: [Usaco2007 Nov]Milking Time 挤奶时间(DP)
- HDU 6180 2017 多校训练:Schedule