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 "<stdin>", line 1, in <module>
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字符串格式化符号:
</tr>
<tr>
<th>%c</th>
<th>格式化字符及其ASCII码</th>
</tr>
<tr>
<th>%s</th>
<th>格式化字符串</th>
</tr>
<tr>
<th>%d</th>
<th>格式化整数</th>
</tr>
<tr>
<th> %u</th>
<th>格式化无符号整型</th>
</tr>
<tr>
<th>%o</th>
<th>格式化无符号八进制数</th>
</tr>
<tr>
<th>%x</th>
<th>格式化无符号十六进制数</th>
</tr>
<tr>
<th>%X</th>
<th>格式化无符号十六进制数(大写)</th>
</tr>
<tr>
<th>%f</th>
<th>格式化浮点数字,可指定小数点后的精度</th>
</tr>
<tr>
<th>%e</th>
<th>用科学计数法格式化浮点数</th>
</tr>
<tr>
<th>%E</th>
<th>作用同%e,用科学计数法格式化浮点数</th>
</tr>
<tr>
<th>%g</th>
<th>根据值的大小决定使用%f活%e</th>
</tr>
<tr>
<th>%G</th>
<th>作用同%g,根据值的大小决定使用%f活%e</th>
</tr>
<tr>
<th>%p</th>
<th>用十六进制数格式化变量的地址</th>
</tr>
符 号 | 描述 |
---|
字符串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”
这样我们就可以替换其中的数据了。
更多入门教程可以参考:http://www.go2coding.com
请发表评论