字符串的操作方法(第二天)
2018-12-27 07:43:11来源:博客园 阅读 ()
2018-12-26
今天是我正式学习Python的第二天,也是我准备用博客来记录我学习历程的第一天。希望可以坚持下去,并且真正学到一些东西。
对字符串进行操作的方法:
1.对输入字符是否是数字的判断{str.isdecimal(),str.isdigit(),str.isnumeric()}
a = "2" b = "②" c = "二" v1 = a.isdecimal() v2 = a.isdigit() v3 = a.isnumeric() v4 = b.isdecimal() v5 = b.isdigit() v6 = b.isnumeric() v7 = c.isdecimal() v8 = c.isdigit() v9 = c.isnumeric() print(a,v1,v2,v3) print(b,v4,v5,v6) print(c,v7,v8,v9)
2 True True True
② False True True
二 False False True
由上图可见,str.isnumeric()的可适用范围最广。
2.字符串的大小写转换{str.casefold(),str.upper(),str.lower(),str.swapcase(),str.title()}
还有对于其的判断{str.isupper(),str.islower(),str.istitle()}
a = "WCbLyN" print(a.casefold()) #字符串转变为对应的小写,不止英文 print(a.swapcase()) #将大小写互换 print(a.upper()) #全部转换为大写 print(a.lower()) #全部转换为小写 print(a.title()) #首字母大写,其他小写 print(a.isupper()) #判断是否为大写 print(a.islower()) #判断是否为小写 print(a.istitle()) #判断是否为首字母大写 结果依次为: wcblyn wcBlYn WCBLYN wcblyn Wcblyn False False False
3.在字符串中查找某一字符{str.find()}
a = "WCbLyNWCbLyNWCbLyN" v = a.find("C",0,2) v1 = a.find("c") v2 = a.find("C",0,1) print(v,v1,v2) #显示字符串中第一次出现此字符的位置,也可限定开始和结束的区间,左闭右开,查找失败返回-1 结果依次为: 1 -1 -1
4.把占位符替换成指定的值{str.format(),str.format_map()}
a = "i am {name},age{b}" v = a.format(name = "wcb",b = 21 ) v1 = a.format_map({"name":"lyn","b":21}) print(v) print(v1) #格式化,将一个字符串中的占位符替换为指定的值,按顺序填入 结果为: i am wcb,age21 i am lyn,age21
5.将字符串中的 字符 替换成对应的字符{str.maketrans(str1,str2),str.translate()}
a = "lynwcb" b = "123456" v = "456 love 123" m = str.maketrans(b,a) #将两个参照的字符串一一对应起来 v1 = v.translate(m) #转换 print(v1) 结果为: wcb love lyn
6.将字符串内的字符或字符串替换成字符或字符串{str.replace()}
a = "lynwcb596922596922" v1 = a.replace("wc","love") v2 = a.replace("w","love") v3 = a.replace("wc","o") v4 = a.replace("2","o") v5 = a.replace("2","o",2) #可通过添加参数选择替换前n个 print(v1) print(v2) print(v3) print(v4) print(v5) 结果依次为: lynloveb596922596922 lynlovecb596922596922 lynob596922596922 lynwcb5969oo5969oo lynwcb5969oo596922
7.去除空格、\t、\n,并可去除指定字符串(有限最多匹配){str.strip(),str.lstrip(),str.rstrip()}
p = "lynwcblynwcb" v = p.strip("wcbly") print(v) 结果为: nwcblyn
这个功能让我很困惑,目前还没搞懂是什么原理
8.将字符串中的每一个元素按照指定分隔符进行拼接{str.join()}
a = "_" v = "lynwcb596922" v1 = a.join(v) print(v1) 结果为: l_y_n_w_c_b_5_9_6_9_2_2 #在两个字符之间加入,前后没有
9.根据指定字符或者字符串在其第一次出现的位置将字符串分成三份,并保留关键词{str.partition(),str.rpartition()}
a = "lynwcb596922lynwcb596922" print(a.partition("wc")) print(a.rpartition("wc")) #从右边开始检索第一个关键词 结果为: ('lyn', 'wc', 'b596922lynwcb596922') ('lynwcb596922lyn', 'wc', 'b596922')
10.根据指定字符分割字符串{str.split(),str.rsplit()}
a = "lynwcb596922lynwcb596922" print(a.split("cb")) print(a.split("cb",1)) #其本身取不到.可定参数,确定分几次 print(a.rsplit("cb",1)) 结果为: ['lynw', '596922lynw', '596922'] ['lynw', '596922lynwcb596922'] ['lynwcb596922lynw', '596922']
可应用于整数加法计算器
value = "5 + 9" v1,v2 = value.split("+") print(int(v1)+int(v2))
11.制作表格{str.expandtabs()}
a = "name\tage\tgender\nwcb\t21\tmale\nlyn\t21\tfemale" print(a.expandtabs(20)) #20个为一组,若遇到\t,自动补满20 结果为: name age gender wcb 21 male lyn 21 female
12.帮助创建连续的数字,也可通过设置步长来指定不连续的数字{range()}
v = range(0,100,5) #左闭右开 0<=x<100 for i in v: print(i)
13.将字符串居中,并用一个 字符 将两边填充满{str.center(),str.ljust(),str.rjust()}
a = "LYNWCB" v = a.center(20,"*") print(v) 结果为: *******LYNWCB*******
2018-12-27 09:21:21 正式完成第一次的整合,拖的时间有点长,今天要抓紧整理,加快进程。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- python_字符串方法 2019-08-13
- PythonDay08 2019-08-13
- python_公共方法 2019-08-13
- python3基础之“小练习(3)” 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash