python中查找字符串_python中字符串操作--截取,查找,替换

python中,对字符串的操作是最常见的,python对字符串操作有自己特殊的处理方式。

字符串的截取

python中对于字符串的索引是比较特别的,来感受一下:

s = '123456789'

#截取中间的两个字符

s[1:3]

#输出为:'23'

#从某个位置到结尾

s[4:]

#输出为:'56789'

#字符串的顺序不仅仅可以顺着数,也可以逆着数

s[-8:7]

#输出为'234567',这个在截取文件名称时是比较有用的,比如用s[-3:],可以得到最后三位的字符串。

字符串的查找

查找当前字符串中,是否包含另外的字符串。

我们可以使用 index,或者find来进行查找,find和index的区别是,如果使用的是index的话,字符串查找中,如果找不到相应的字符串,会抛出一个ValueError的异常。

s = '123456789'

s.index('23')

#输出:1

s.find('23')

#输出:1

s.index('s')

#输出

Traceback (most recent call last):

File "", line 1, in

ValueError: substring not found

s.find('s')

#输出 -1

分割字符串

总是有很多特殊字符,可以用来分割字符串。数据库中经常把一组照片放在一个字段中,比如

img1.jpg@@@img2.jpg@@@img3.jpg

需要把不定长的照片都取出来,就需要同特殊字符把字符串分开,得到不同的照片。

分割的命令为split

s = 'img1.jpg@@@img2.jpg@@@img3.jpg'

s.split('@@@')

#结果为一个数值:['img1.jpg', 'img2.jpg', 'img3.jpg']

字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21)

#以上实例输出结果: My name is Zara and weight is 21 kg!

python字符串格式化符号:

%c

格式化字符及其ASCII码

%s

格式化字符串

%d

格式化整数

%u

格式化无符号整型

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数字,可指定小数点后的精度

%e

用科学计数法格式化浮点数

%E

作用同%e,用科学计数法格式化浮点数

%g

根据值的大小决定使用%f活%e

%G

作用同%g,根据值的大小决定使用%f活%e

%p

用十六进制数格式化变量的地址

符 号

描述

字符串Template化

在python中Template可以将字符串的格式固定下来,重复利用。

Template属于string中的一个类,要使用他的话可以用以下方式调用:

from string import Template

我们使用以下代码:

>>> s = Template('There ${moneyType} is ${money}')

>>> print s.substitute(moneyType = 'Dollar',money=12)

运行结果显示“There Dollar is 12”

这样我们就可以替换其中的数据了。

你可能感兴趣的:(python中查找字符串)