字符串格式化:

前面说过一种字符串格式化方法,来复习一下:

>>> 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)的更多相关文章

  1. Python格式化字符串~转

    Python格式化字符串 在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作 ...

  2. python学习--字符串

    python的字符串类型为str 定义字符串可以用 ‘abc' , "abc", '''abc''' 查看str的帮助 在python提示符里 help(str) python基于 ...

  3. Python格式化字符串和转义字符

    地址:http://blog.chinaunix.net/uid-20794157-id-3038417.html Python格式化字符串的替代符以及含义     符   号     说     明 ...

  4. [转载] python 计算字符串长度

    本文转载自: http://www.sharejs.com/codes/python/4843 python 计算字符串长度,一个中文算两个字符,先转换成utf8,然后通过计算utf8的长度和len函 ...

  5. Python基础-字符串格式化_百分号方式_format方式

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  6. python判断字符串

    python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...

  7. Python格式化字符串

    在编写程序的过程中,经常需要进行格式化输出,每次用每次查.干脆就在这里整理一下,以便索引. 格式化操作符(%) "%"是Python风格的字符串格式化操作符,非常类似C语言里的pr ...

  8. python(七)字符串格式化、生成器与迭代器

    字符串格式化 Python的字符串格式化有两种方式:百分号方式.format方式 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) ...

  9. Python 的字符串格式化和颜色控制

    (部分内容源自武神博客和网络收集.) Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两 ...

  10. python反转字符串(简单方法)及简单的文件操作示例

    Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...

随机推荐

  1. Umbraco中的Member登录时的Lock out功能

    请参看文章 https://our.umbraco.org/forum/using-umbraco-and-getting-started/76389-preventing-member-lock-o ...

  2. codeforces 337D 树形DP Book of Evil

    原题直通车:codeforces 337D Book of Evil 题意:一棵n个结点的树上可能存在一个Evil,Evil危险范围为d,即当某个点与它的距离x<=d时,那么x是危险的. 现已知 ...

  3. C#下内存管理--垃圾收集

    章节安排 内存管理简介 垃圾回收机制 性能问题 C#下非托管资源的处理 要强调的几点 References 内存管理简介 对于任何一种编程语言,内存管理都是不得不提很重要的一块内容,但可惜的是目前为止 ...

  4. Junit使用教程(二)

    二.核心——断言 断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过. 1. 断言核心方法 assertArrayEquals(expecteds, actua ...

  5. Java常用类(String、StringBuffer、Math、Arrays)

    1.String 操作对象时会重新分配堆内存,栈内存的引用会重新指向新的堆内存 2.StringBuffer(字符串缓存区) 操作的对象一直都是一个 3.Math Math.max(xx,xx); M ...

  6. 使用apt-get autoremove造成的系统无法开机

    由于误操作(apt-get autoremove xxx)删除了一些lib文件貌似,之后,系统直接重启,然后就无法进入系统,后使用引导盘对系统进行修复,思路如下: 1.挂载已经有的分区,挂载为可读可写 ...

  7. wikioi 3116 高精度练习之加法

    题目描述 Description 给出两个正整数A和B,计算A+B的值.保证A和B的位数不超过500位. 输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Outpu ...

  8. U3D中的协同等待函数

    WaitForSeconds.WaitForseconds等待函数; 创建一个yield指令,来等待给定的秒数; using UnityEngine; using System.Collections ...

  9. Python3向网页POST数据

    还是以我的网页iciba为例 POST数据到www.selflink.cn/iciba/get0.php获取返回的查询结果 #coding:utf8 import urllib.request imp ...

  10. Node.js简单介绍

    Node.js是一个能够让javascript执行在server上的平台,既是语言又是平台. Node.js是一个实时web应用程序的平台. Node.js有强大的包管理器npm,故node相关软件安 ...