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
python中字符串操作--截取,查找,替换的更多相关文章
- 吴裕雄--天生自然python学习笔记:python文档操作自动查找替换 Word 文件中的指定文字
Win32com 组件提供了自动替换 Word 文件中指定文字 的功能 .在使用“查找” 功能替换文字之前,可先清除源文字及目标文字的格式,以免影响替换效果,语法为 : 替换 Word 文件特定文字的 ...
- Python中字符串操作
#Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...
- Python中字符串的截取,列表的截取
字符串的截取 Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符. 字符串的截取的语法格式如下: 变量[头下标:尾下标] 索引值以 0 为开始值,-1 ...
- Python中字符串操作函数string.split('str1')和string.join(ls)
Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- 超详细!盘点Python中字符串的常用操作
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...
- Python中字符串有哪些常用操作?纯干货超详细
- 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...
随机推荐
- ZJNU 1213 - 取水——高级
某个村庄i可以打一口井取水花费费用Wi,也可以与有水的村庄连接取水 又因为不可能没有一个村庄不打井(即至少有一个村庄打井,其余村庄连向它) 实际上就可以理解为,将水井看作第N+1个村庄,需要有村庄与这 ...
- epoll——IO多路复用选择器
上上篇博客讲的套接字,由于其阻塞性而导致一个服务端同一时间只能与一个客户端连接.基于这个缺点,在上篇博客我们将其设置为非阻塞实现了一个服务端同一时间可以与多个客户端相连,即实现了并发,但其同样留下了一 ...
- VMware Horizon view 7安装视频教程
1.教程介绍1.1::通过本教程起到抛砖引玉效果,希望各位喜爱VMware产品的朋友受益良多. 1.2::以下提供的任何软件仅供学习交流使用. 2.视频教程2.1::ESXI安装视频 链接:https ...
- 在python实现加密的方式总结
基础知识扫盲 对称加密 对称密钥加密 , 又叫私钥加密.即信息发送的方和接受方用一个密钥去加密和揭秘数据. 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换 ...
- linuxmint截图
利用import命令截图,并设置快捷键 shift + PrtScrSysRq: 选中区域截图. 设置快捷键的时候,提示: Ctrl + PrtScrSysRq: 复制截图到剪切板 PrtScrSys ...
- 数字格式化NumberFormat
做财务的同学遇到逗号分隔的数值格式,会用到NumberFormat类格式化数据 BigDecimal bigDecimal = new BigDecimal("1000000000.4110 ...
- Android如何制作自己的依赖库上传至github供别人下载使用
Android如何制作自己的依赖库上传至github供别人下载使用 https://blog.csdn.net/xuchao_blog/article/details/62893851
- Codeforces Round #517 (Div. 2)(1~n的分配)
题:https://codeforces.com/contest/1072/problem/C 思路:首先找到最大的x,使得x*(x+1)/2 <= a+b 那么一定存在一种分割使得 a1 &l ...
- 把ngnix注册为linux服务 将Nginx设置为linux下的服务
一.创建服务脚本 vim /etc/init.d/nginx 脚本内容如下 #! /bin/sh # chkconfig: - 85 15 PATH=/web/server/nginx/sbin DE ...
- PHP验证电子邮件-密码保护和随机密码
验证邮箱: function isValidEmail($email){ return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a ...