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

python中字符串操作--截取,查找,替换的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:python文档操作自动查找替换 Word 文件中的指定文字

    Win32com 组件提供了自动替换 Word 文件中指定文字 的功能 .在使用“查找” 功能替换文字之前,可先清除源文字及目标文字的格式,以免影响替换效果,语法为 : 替换 Word 文件特定文字的 ...

  2. Python中字符串操作

    #Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...

  3. Python中字符串的截取,列表的截取

    字符串的截取 Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符. 字符串的截取的语法格式如下: 变量[头下标:尾下标] 索引值以 0 为开始值,-1 ...

  4. Python中字符串操作函数string.split('str1')和string.join(ls)

    Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...

  5. 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...

  6. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  7. 超详细!盘点Python中字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  8. Python中字符串有哪些常用操作?纯干货超详细

  9. 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...

随机推荐

  1. ZJNU 1164 - 考试排名——中级

    1.如果一个单元为0,表示没做过这题,不计入成绩 2.如果一个单位为负数,表示做错了这题,不计入成绩 所以只要一个单元为正数(不论是否有括号)都说明做出了这一题,计入成绩 将名字和成绩都当作字符串读入 ...

  2. JavaSE--Java 的基本程序设计结构

    Java 对大小写敏感 Java 中定义类名的规则很宽松.名字必须以字母开头,后面可以跟字母和数字的任意组合.长度基本上没有限制.但是不能使用 Java 保留字作为类名. 标准的命名规范为:类名是以大 ...

  3. springmvc中那些易被忽略的小知识点

    1.springmvc会为没有view的modelandview指定默认view 知道这个的时候我都惊呆了. 我从来都是手动指定view名字,今天看到别人写的代码竟然直接返回了个mav,貌似是在dis ...

  4. python妹子图爬虫5千张高清大图突破防盗链福利5千张福利高清大图

    meizitu-spider python通用爬虫-绕过防盗链爬取妹子图 这是一只小巧方便,强大的爬虫,由python编写 所需的库有 requests BeautifulSoup os lxml 伪 ...

  5. 树莓派切换到root用户

    1:如何修改pi账号密码 passwd pi 2:开启root账户 树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的 debian里root账户默认没有密码,但账 ...

  6. TPO5-2 The Origin of Pacific Island People

    Contrary to the arguments of some (that much of the pacific was settled by Polynesians accidentally ...

  7. Sqlite教程(2) Data Access Object

    因为这个项目的业务层很薄,因此想在架构上尽量保持着「轻」,不会把创建DbHelper的interface. 而是直接用DAO创建DbHelper对象. DAO和DbHelper也是同样使用懒汉模式. ...

  8. Java 网址短链接服务原理及解决方案

    一.背景 现在在各种圈的产品各种推广地址,由于URL地址过长,不美观.不方便收藏.发布.传播以及各种发文字数限制等问题,微信.微博都在使用短链接技术.最近由于使用的三方的生成.解析短链接服务开始限制使 ...

  9. windows cmd下netstat查看占用端口号的进程和程序

    其实很简单,大家可以在cmd窗口 C:\Documents and Settings\Administrator>netstat -help 显示协议统计信息和当前 TCP/IP 网络连接. N ...

  10. [LC] 22. Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...