python(2)-字符串(2)
字符串格式化:
前面说过一种字符串格式化方法,来复习一下:
>>> print('His name is %s', 'jeff')
His name is %s jeff
其实格式化方法不止一种:
>>> print('{0} , {1}'.format('alex','33'))
alex , 33
后面的值分按照顺序挨个匹配出来。但是这样好像不太直观,改进一下
>>> print('{name},{age}'.format(name='jeff',age='23'))
jeff,23
这样是不是很直观了,对应关系一目了然
>>> print('%-10s%-10s%-10s' % ('name','age','job'))
name age job
%-10s 结字符串10个字符的空间,在对齐输出的时候很有用哦。
下面看看字符串的方法:
>>> name = 'jeff'
>>> name.__contains__('ff') #’ff’是否包含在name里
True
>>> name.capitalize() #首字母大写
'Jeff'
>>> name.center(20) #在20个字符空间内居中
' jeff '
>>> name.center(20,'*') #可以自定义居中
'********jeff********'
>>> name.count('f') #计数
2
>>> name.count('f',0,2) #在切片中计数
0
>>> name.count('f',0,3)
1
>>> name.endswith('f') #判断不否以f结尾
True
>>> name.endswith('e',0,2) #在切片中判断
True
>>> name = 'j\teff'
>>> name.expandtabs() #显示字符串中的转义字符,\t是tab
'j eff'
>>> name.index('f') #返回索引值
3
>>> name.find('ex') #返回索引值,没找到返回-1
-1
>>> name.find('ff') #r返回索引,第一个匹配的
3
>>> name.index('x') #index方法没找到时会抛出异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>>
>>> name = 'jeff'
>>> name.isdigit() #是否是数字数字,注意负数也会返回False哦,正整数和零才返回True
False
>>> name.isalnum() #是否全是字母或数字
True
>>> name.isalpha() #是否全是字母
True
>>> name.isdecimal() #是否是十进制小数
False
>>> name.isidentifier() #判断字符串是否合法,实际上是判断变量是否合法
True
>>> name.islower() #是否全是小写
True
>>> name.isupper() #是否全是大写
False
>>> name.isnumeric() #是否是数字
False
>>> name.isspace() #是否是空格
False
>>> name.istitle() #是否是标题
False
join()方法
>>> li = ['a','b','c','d']
>>> '_'.join(li)
'a_b_c_d'
strip()方法: 去掉左右两边的空格,换行符也会被去掉哦。。
>>> 'name '.strip()
'name'
>>> ' name '.strip()
'name'
>>> 'name\n'.strip()
'name'
>>> '\nname\n'.strip()
'name'
lstrip():去掉左边的
rstrip() : 去掉右边的
看看下面这个
>>> intab = "aeiou"
>>> outtab = '12345'
>>> from string import maketrans
>>> trantab = maketrans(intab,outtab) #python3在这里会抛出异常不知道为啥
>>> str = 'this is string example.....wow!!'
>>> print str.translate(trantab)
th3s 3s str3ng 2x1mpl2.....w4w!!
>>> print str.translate(trantab,'xm') #按映射关系替换,并移出x和m
th3s 3s str3ng 21pl2.....w4w!!
继续,看一个分割方法
>>> name = 'jackisppp'
>>> name.partition('is')
('jack', 'is', 'ppp')
peplace() 替换
>>> name = 'jack is teacher'
>>> name.replace('a','x') #将所有a替换成x
'jxck is texcher'
>>> name.replace('c','T',2) #替换两个
'jaTk is teaTher'
split()
splitlines()
startswith()
swapcase() 大小写转换
title() 转换成标题
upper() 转成大写
python(2)-字符串(2)的更多相关文章
- Python格式化字符串~转
Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...
- python学习--字符串
python的字符串类型为str 定义字符串可以用 ‘abc' , "abc", '''abc''' 查看str的帮助 在python提示符里 help(str) python基于 ...
- Python格式化字符串和转义字符
地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义 符 号 说 明 ...
- [转载] python 计算字符串长度
本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...
- Python基础-字符串格式化_百分号方式_format方式
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- python判断字符串
python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...
- Python格式化字符串
在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...
- python(七)字符串格式化、生成器与迭代器
字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) ...
- Python 的字符串格式化和颜色控制
(部分内容源自武神博客和网络收集.) Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两 ...
- python反转字符串(简单方法)及简单的文件操作示例
Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...
随机推荐
- linux 系统维护命令
cat /home/username/.bash_history :查看用户的历史操作记录 (centos , mac 支持) last -x : 使用root登陆使用last -x可查看用户登陆历史 ...
- 【转】Nginx系列(三)--管理进程、多工作进程设计
原博文出于:http://blog.csdn.net/liutengteng130/article/details/46700999 感谢! Nginx由一个master进程和多个worker进程组 ...
- Java设计模式系列之命令模式
命令模式(Command)的定义 将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化:对请求排队或记录日志,以及支持可撤销的操作,将”发出请求的对象”和”接收与执行这些请求的对象”分隔开来. ...
- poj 3041 Asteroids(最小点覆盖)
http://poj.org/problem?id=3041 Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions ...
- Linux 的进程组、会话、守护进程
一.进程组ID 每个进程都属于一个进程组.每个进程组有一个领头进程.进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号.每个进程组都有唯一的进程组ID(整数,也可以 ...
- UITableView section header 不固定
iOS系统自带的UITableView,当数据分为多个section的时候,在UITableView滑动的过程中,默认section header是固定在顶部的,滑动到下一个section的时候,下一 ...
- SQL中DATE和DATETIME类型不能直接作比较
如题,今天纠结了一天的问题. 在存储过程中定义了两个datetime类型的时间,然后把这个两个时间作为where条件中一个date字段between的两个时间段,结果无论如何都不执行... 就像 u ...
- Android Layout_Gravity和Gravity
简单来说layout_gravity表示子控件在父容器的位置,gravity表示控件内容在控件内的位置. 上面图片的xml代码 <?xml version="1.0" enc ...
- CTF
今天发现了一个神奇的领域CTF……感觉打开了新世界的大门 http://ctf.idf.cn/里面各种有趣的题目0.0
- Spring 3 整合Apache CXF WebService[转]
http://www.cnblogs.com/hoojo/archive/2012/07/13/2590593.html 在CXF2版本中,整合Spring3发布CXF WebService就更加简单 ...