如何进行Python字符串操作?

开发 后端
在python有各种各样的python字符串操作,在历史上string类在python中经历了一段轮回的历史,在最开始的时候,python有一个专门的string的module。

Python的有点为:简单、免费、开源、高层语言、可移植性、解释性、面向对象、可扩展性、可嵌入性、丰富的库,Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色,下面讲述python字符串操作流程。

要使用string的方法要先import,但后来由于众多的python使用者的建议,从python2.0开始, string方法改为用S.method()的形式调用,只要S是一个字符串对象就可以这样使用,而不用import。同时为了保持向后兼容,现在的Python中仍然保留了一个string的module。#t#

其中定义的方法与python字符串操作是相同的,这些方法都最后都指向了用S.method ()调用的函数。要注意,S.method()能调用的方法比string的module中的多,比如isdigit()、istitle()等就只能用 S.method()的方式调用。 对一个字符串对象,首先想到的操作可能就是计算它有多少个字符组成,很容易想到用S.len(),但这是错的,应该是len(S)。因为len()是内置函数,包括在__builtin__模块中。

python字符串操作不把len()包含在string类型中,乍看起来好像有点不可理解,其实一切有其合理的逻辑在里头。len()不仅可以计算字符串中的字符数。还可以计算list的成员数,tuple的成员数等等,因此单单把len()算在string里是不合适,因此一是可以把len()作为通用函数。

用重载实现对不同类型的操作,还有就是可以在每种有len()运算的类型中都要包含一个len()函数。 Python选择的是第一种解决办法。类似的还有str(arg)函数,它把arg用string类型表示出来。
 
字符串中字符大小写的变换:

  1. S.lower() #小写   
  2. S.upper() #大写   
  3. S.swapcase() #大小写互换   
  4. S.capitalize() #首字母大写   
  5. String.capwords(S)  

字符串在输出时的对齐:

  1. S.lower() #小写   
  2. S.upper() #大写   
  3. S.swapcase() #大小写互换   
  4. S.capitalize() #首字母大写   
  5. String.capwords(S)  

字符串中的搜索和替换:

  1. S.lower() #小写   
  2. S.upper() #大写   
  3. S.swapcase() #大小写互换   
  4. S.capitalize() #首字母大写   
  5. String.capwords(S)  

使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数。可以使用把某个字符翻译为python字符串操作的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。 字符串还有一对编码和解码的函数:

  1. #是否全是字母和数字,并至少有一个字符   
  2. S.isalpha() #是否全是字母,并至少有一个字符   
  3. S.isdigit() #是否全是数字,并至少有一个字符   
  4. S.isspace() #是否全是空白字符,并至少有一个字符   
  5. S.islower() #S中的字母是否全是小写   
  6. S.isupper() #S中的字母是否便是大写   
  7. S.istitle() #S是否是首字母大写的  
     

【编辑推荐】

  1. 如何使Python嵌入C++应用程序? 深入探讨Ruby与Python语法比较
  2.  
  3. Python学习资料介绍分享
  4. Python学习经验谈:版本、IDE选择及编码解 决方案
  5. 浅析Python的GIL和线程安全
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-03-12 17:35:00

Python字符串

2010-03-15 16:13:11

Python正则表达式

2010-03-12 18:29:56

Python字符串替换

2010-02-05 16:35:35

Android操作系统

2019-12-25 15:41:50

JavaScript程序员编程语言

2010-02-03 13:55:51

Python 代码

2010-02-22 16:05:40

Python配置

2010-02-01 10:21:36

Python编码转换

2010-02-04 17:42:15

Android数据库

2010-07-26 16:23:46

Telnet 110

2010-01-15 17:31:18

C++Test

2018-03-21 12:36:21

Python字符串

2010-04-27 12:19:57

Unix字符串

2009-12-29 13:31:55

ADO连接ACCESS

2009-08-07 14:15:21

C#字符串分割

2019-12-02 09:24:10

Python数据字符串

2010-03-12 10:46:50

Python字符串

2010-02-01 18:20:17

Python 多重继承

2010-03-11 17:38:20

Python中文

2010-02-02 16:47:12

Python主线程
点赞
收藏

51CTO技术栈公众号