Python字符串详解
字符串
- 作用: 名字,性别,国籍,地址等描述信息
- 定义: 在单引号、双引号、三引号内,由一串字符组成
优先掌握的操作:
- 按索引取值(正向取+反向取):只能取
- 切片(顾头不顾尾,步长)
- 长度len
- 成员运算in和not in
- 移除空白strip
- 切分split
- 循环
strip移除空白
name='*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
判断指定字符是否在结尾或开对,返回True或False
name='alex_SB'
print(name.endswith('SB')) #判断字给定字符串是否在结尾,如果在则返回True,不在则为False
------
True
print(name.startswith('alex')) #判断给定字符串是否在开头,如果在则返回True,不在则为False
----
True
字符串替换replace方法
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1)) #替换,把alex替换为SB,1表示只替换匹配到的第一个字符串
-----
SB_SB
自定义格式format的三种玩法
#format,自定义格式,注意中间的空格。把format后面的字符串放入大括号中。
res='{} {} {}'.format('egon',18,'male')
print(res)
--------
egon 18 male
#按照输入的位置,按0,1,2,3指定位置排列。
res='{1} {0} {1}'.format('egon',18,'male')
print(res)
---
18 egon 18
#设置变量,指定变量的位置,format后面的输入顺序就不重要了。
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
print(res)
---
egon 18 male
查找字符串中索引位置find,rfind,index,rindex,count方法
name='egon say hello'
print(name.find('0',1,3)) #查找0,顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
----
-1
#同上,但是找不到会报错
print(name.index('e',2,4))
---
ValueError: substring not found
#顾头不顾尾,如果不指定范围则查找所有
print(name.count('e',1,3))
---
0
指定分隔符-split,把一串字串切为列表。
name='root:x:0:0::/root:/bin/bash'
print(name.split(':')) #指定冒号为默认分隔符 为空格
---
['root', 'x', '0', '', '/root/', '/bin/bash']
#只想拿到顶级目录
name='C:/a/b/c/d.txt'
print(name.split('/',1))
---
['C:', 'a/b/c/d.txt']
#从右开始切分
name='a|b|c'
print(name.rsplit('|',1))
---
['a|b', 'c']
join
#可迭代对象必须都是字符串,把tag加入到对应的字符串中。
tag='-'
print(tag.join(['egon','say','hello','world']))
---
egon-say-hello-world
字符串居中和填充-center
name='egon'
#30为总字符串,让name在30个字符中居中,不够的用-填充。
print(name.center(30,'-'))
---
#30为总字符串,让name在30个字符中居中,不够的用-填充。
字符串靠左和填充-ljust
#30为总字符串,让name在30个字符中排最左,不够用*填充
name='egon'
print(name.ljust(30,'*'))
---
egon**************************
字符串靠右和填充-rjust
#30为总字符串,让name在30个字符中排最右,不够用*填充。
name='egon'
print(name.rjust(30,'*'))
---
**************************egon
#用0填充-zfill
name='egon'
print(name.zfill(50)) #50个字符,name在最右。
---
0000000000000000000000000000000000000000000000egon
指定制表符的长度-expandtabs
name='egon\thello' #\t制表符
print(name)
---
egon hello
name='egon\thello'
print(name.expandtabs(1)) #1为指定多少个字隔做为分隔符号。
---
egon hello
大小定替换-lower,upper
#全替换为小写
name='Egon'
print(name.lower())
---
egon
#全替换为大写
print(name.upper())
---
EGON
首字母大写-captalize
name='egon'
print(name.capitalize())
---
Egon
大小写翻转-swapcase
print(name.swapcase())
---
eGoN
每个单词的首字母大写-title
msg='egon say hi'
print(msg.title())
---
Egon Say Hi
is数字系列
在python中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='IV' #罗马数字
isdigt:bytes,unicode
#isdigit来判断字符串是否为数字
#0-9数字类型返回True
print(num1.isdigit()) #True
print(num2.isdigit()) #True
#非0-9数字类型返回False
print(num3.isdigit()) #False
print(num4.isdigit()) #False
isnumberic:unicode中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True
三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdigit())
print(num5.isdigit())
总结:
最常用的isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
is其他
print('===>')
name='egon123'
print(name.isalnum()) #判断字符串是否由字母或数字组成
print(name.isalpha()) #判断字符串是否只由字母组成
print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
Python字符串详解的更多相关文章
- 13.Python字符串详解(包含长字符串和原始字符串)
简单地理解,字符串就是“一串字符”,也就是用引号包裹的任何数据,比如“Hello,Charlie”是一个字符串,“12345”也是一个字符串. Python 要求,字符串必须使用引号括起来,可以使用单 ...
- Python变量和字符串详解
Python变量和字符串详解 几个月前,我开始学习个人形象管理,从发型.妆容.服饰到仪表仪态,都开始做全新改造,在塑造个人风格时,最基础的是先了解自己属于哪种风格,然后找到参考对象去模仿,可以是自己欣 ...
- [转] Python Traceback详解
追莫名其妙的bugs利器-mark- 转自:https://www.jianshu.com/p/a8cb5375171a Python Traceback详解 刚接触Python的时候,简单的 ...
- python 数据类型详解
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
- Python Collections详解
Python Collections详解 collections模块在内置数据结构(list.tuple.dict.set)的基础上,提供了几个额外的数据结构:ChainMap.Counter.deq ...
- 转 python数据类型详解
python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...
- python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题
python爬虫---详解爬虫分类,HTTP和HTTPS的区别,证书加密,反爬机制和反反爬策略,requests模块的使用,常见的问题 一丶爬虫概述 通过编写程序'模拟浏览器'上网,然后通 ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
随机推荐
- [51nod1443]路径和树
给定一幅无向带权连通图G = (V, E) (这里V是点集,E是边集).从点u开始的最短路径树是这样一幅图G1 = (V, E1),其中E1是E的子集,并且在G1中,u到所有其它点的最短路径与他在G中 ...
- [bzoj1997][Hnoi2010]Planar(2-sat||括号序列)
开始填连通分量的大坑了= = 然后平面图有个性质m<=3*n-6..... 由平面图的欧拉定理n-m+r=2(r为平面图的面的个数),在极大平面图的情况可以代入得到m=3*n-6. 网上的证明( ...
- [hdu5632][BC#73 1002]Rikka with Array
点开BC发现今晚没比赛..然后似乎上一场有数位DP?...(幸好我没去 一开始被BCDcode那题的思路带歪了..后来发现得把n转成二进制才能搞TAT 题目大概是要求一种类似逆序对的鬼东西: 有一个长 ...
- js函数声明的三种方式
1.直接声明 function box(num1,num2){ return num1+num2;}alert(box(1,2)); 2.使用变量初始化 var box2 = function(num ...
- [国嵌笔记][010][TFTP与NFS服务器配置]
交叉开发 嵌入式软件产生的平台称为宿主机,运行嵌入式软件的平台称为目标机 宿主机一般通过串口.网络.USB.JTAG等方式将软件下载到目标机 网络下载 一般有TFTP和NFS两种方式 tftp服务器 ...
- java实现死锁的demo
死锁 只有当t1线程占用o1且正好也需要o2,t2此时占用o2且正好也需要o1的时候才会出现死锁,(类似于2个人拿着两个筷子吃饭,都是需要对方的一根筷子才能吃) 以下代码t1线程占用o1,并且获取到o ...
- 项目启动log4j相关警告问题
在项目启动时出现了下面的警告: log4j:WARN custom level class [xxxxx] not found. 出现这个错误,不是log4j的问题,也是slf4j的问题,问题是因为自 ...
- asp.net网站管理工具 遇到错误。请返回上一页并重试。
原因:项目的路径里有“#”号.
- DEDECMS去掉自动生成首页或栏目后面带的index.html
Dede默认生成首页后,首页的链接后面会多出一个index.html.据官方说法这样有利于网站优化.但是这个index.html怎么看都不舒服,而且也不利于seo中主页url的统一.因为我的网站的ur ...
- ADO.NET复习总结(2)--连接池
1. 2. 3.示例:在一百次循环中,执行数据库连接的打开和关闭,使用stopwatch查看所用的时间. using System; using System.Collections.Generic; ...