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

字符串的截取

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

  1. s = '123456789'
  2. #截取中间的两个字符
  3. s[1:3]
  4. #输出为:'23'
  5. #从某个位置到结尾
  6. s[4:]
  7. #输出为:'56789'
  8. #字符串的顺序不仅仅可以顺着数,也可以逆着数
  9. s[-8:7]
  10. #输出为'234567',这个在截取文件名称时是比较有用的,比如用s[-3:],可以得到最后三位的字符串。

字符串的查找

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

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

  1. s = '123456789'
  2. s.index('23')
  3. #输出:1
  4. s.find('23')
  5. #输出:1
  6. s.index('s')
  7. #输出
  8. Traceback (most recent call last):
  9. File "<stdin>", line 1, in <module>
  10. ValueError: substring not found
  11. s.find('s')
  12. #输出 -1

分割字符串

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

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

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

分割的命令为split

  1. s = 'img1.jpg@@@img2.jpg@@@img3.jpg'
  2. s.split('@@@')
  3. #结果为一个数值:['img1.jpg', 'img2.jpg', 'img3.jpg']

字符串格式化

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

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

  1. #!/usr/bin/python
  2. print "My name is %s and weight is %d kg!" % ('Zara', 21)
  3. #以上实例输出结果: My name is Zara and weight is 21 kg!

python字符串格式化符号:

  1. </tr>
  2. <tr>
  3. <th>%c</th>
  4. <th>格式化字符及其ASCII码</th>
  5. </tr>
  6. <tr>
  7. <th>%s</th>
  8. <th>格式化字符串</th>
  9. </tr>
  10. <tr>
  11. <th>%d</th>
  12. <th>格式化整数</th>
  13. </tr>
  14. <tr>
  15. <th> %u</th>
  16. <th>格式化无符号整型</th>
  17. </tr>
  18. <tr>
  19. <th>%o</th>
  20. <th>格式化无符号八进制数</th>
  21. </tr>
  22. <tr>
  23. <th>%x</th>
  24. <th>格式化无符号十六进制数</th>
  25. </tr>
  26. <tr>
  27. <th>%X</th>
  28. <th>格式化无符号十六进制数(大写)</th>
  29. </tr>
  30. <tr>
  31. <th>%f</th>
  32. <th>格式化浮点数字,可指定小数点后的精度</th>
  33. </tr>
  34. <tr>
  35. <th>%e</th>
  36. <th>用科学计数法格式化浮点数</th>
  37. </tr>
  38. <tr>
  39. <th>%E</th>
  40. <th>作用同%e,用科学计数法格式化浮点数</th>
  41. </tr>
  42. <tr>
  43. <th>%g</th>
  44. <th>根据值的大小决定使用%f活%e</th>
  45. </tr>
  46. <tr>
  47. <th>%G</th>
  48. <th>作用同%g,根据值的大小决定使用%f活%e</th>
  49. </tr>
  50. <tr>
  51. <th>%p</th>
  52. <th>用十六进制数格式化变量的地址</th>
  53. </tr>
符 号 描述

字符串Template化

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

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

  1. from string import Template

我们使用以下代码:

  1. >>> s = Template('There ${moneyType} is ${money}')
  2. >>> 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. 小程序外链跳转web-view系列问题

    1.当小程序需要跳转外链时要上小程序后台配置业务域名,配置业务域名需要上传一个验证文件到你跳转的外链的服务器上的根目录里: 2. (1)第一种方法:.当小程序在同一个页面根据后台接口获取的url进行小 ...

  2. maven 设置pom 指定jdk版本

    <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</acti ...

  3. 线程池-进程池-io模型

    一.线程池与进程池 什么是池?简单的说就是一个容器,一个范围 在保证计算机硬件安全的情况下最大限度的充分利用计算机, 池其实是降低了程序的运行效率,但是保证了计算机硬件的安全,也是实现了一个并发的效果 ...

  4. windows系统安装msi文件总提示2502、2503的错误

    首先: 1.按WIN+R,在运行框中输入“gpedit.msc” 确认:2.打开本地策略组编辑器后依次展开 :“计算机配置”->“管理模板”->“windows组件”->“windo ...

  5. NOIP2013D1T3货车运输 (生成树+树链剖分)

    给出一个图,询问图上两点间路径上最小边权的最大值. 先跑一次最大生成树. 树剖维护路径最小边权. 树剖又双叒叕写挂了. #include<cstring> #include<cstd ...

  6. MySQL_语句

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 ...

  7. [USACO09DEC]视频游戏的麻烦Video Game Troubles(DP)

    https://www.luogu.org/problem/P2967 https://ac.nowcoder.com/acm/contest/1077/B 题目描述 Farmer John's co ...

  8. Linux_切换,创建,和删除目录

    切换目录 cd /tmp cd ..切换到上一个目录 cd ~  进入当前用户的家目录 cd ~nbzyh  进入zyh用户 创建目录 当当前在tmp中时:mkdir /tmp/sam 这里用的是绝对 ...

  9. [APIO2009-C]抢掠计划

    题:https://www.cometoj.com/problem/0461 分析:求边双,最后求多汇点最长路 #include<iostream> #include<cstring ...

  10. java后端导出excel

    最近工作中需要导出excel.这次机智一点做个笔记,顺便写了一个比较通用的工具类.自然目前不能生成java实体类属性嵌套多次的这种没办法导出了,后续有需要的时候我再改改. 首先,java后端导出exc ...