参考博客:http://www.cnblogs.com/Camilo/archive/2013/09/21/3332267.html

http://www.cnblogs.com/SunWentao/archive/2008/06/19/1225690.html

1. 字符串常量

string.digits:包含0-9的字符串
    string.letters:包含所有大小写字母的字符串
    string.lowercase:所有小写字母
    string.printable:包含所有可以打印字符的字符串
    string.punctuation:包含所有标点的字符串
    string.uppercase:包含所有大写字母的字符串

2.字符串中字符大小写的变换:

S.lower()  #小写
   S.upper() #大写
   S.swapcase() #大小写互换
   S.capitalize()  #首字母大写
   String.capwords(S)  #这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起 
   S.title() #只有首字母大写,其余为小写,模块中没有这个方法

3. 字符串在输出时的对齐:

S.ljust(width,[fillchar])  #输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。

S.rjust(width,[fillchar]) #右对齐
    S.center(width, [fillchar]) #中间对齐
    S.zfill(width) #把S变成width长,并在右对齐,不足部分用0补足

4. 字符串中的搜索和替换:
   S.find(substr, [start, [end]])  #返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
   S.index(substr, [start, [end]])  #与find()相同,只是在S中没有substr时,会返回一个运行时错误 
   S.rfind(substr, [start, [end]])  #返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号 
   S.rindex(substr, [start, [end]])
   S.count(substr, [start, [end]]) #计算substr在S中出现的次数
   S.replace(oldstr, newstr, [count]) #把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换 
   S.strip([chars]) #把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None 
   S.lstrip([chars])
   S.rstrip([chars])
   S.expandtabs([tabsize]) #把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个

5. 字符串的分割和组合:

S.split([sep, [maxsplit]])  #以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
    S.rsplit([sep, [maxsplit]])
    S.splitlines([keepends])  #把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
    S.join(seq)  #把seq代表的序列──字符串序列,用S连接起来

6. 字符串的mapping

String.maketrans(from, to) #返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。

S.translate(table[,deletechars]) # 使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持 deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。

7. 字符串还有一对编码和解码的函数:
    S.encode([encoding,[errors]]) # 其中encoding可以有多种值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。errors默认值为"strict",意思是UnicodeError。可能的值还有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通过codecs.register_error注册的值。这一部分内容涉及codecs模块,不是特明白
    S.decode([encoding,[errors]])

8. 字符串的测试函数

这一类函数在string模块中没有,这些函数返回的都是bool值:
    S.startwith(prefix[,start[,end]]) #是否以prefix开头
    S.endwith(suffix[,start[,end]]) #以suffix结尾
    S.isalnum() #是否全是字母和数字,并至少有一个字符
    S.isalpha() #是否全是字母,并至少有一个字符
    S.isdigit() #是否全是数字,并至少有一个字符
    S.isspace() #是否全是空白字符,并至少有一个字符
    S.islower() #S中的字母是否全是小写
    S.isupper() #S中的字母是否便是大写
    S.istitle() #S是否是首字母大写的

9. 字符串类型转换函数,这几个函数只在string模块中有:
    string.atoi(s[,base]) #base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
    string.atol(s[,base]) #转成long
    string.atof(s[,base]) #转成float

这里再强调一次,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。

其实,这也是有变通的办法的,可以用S=list(S)这个函数把S变为由单个字符为成员的list,这样的话就可以使用S[3]='a'的方式改变值,然后再使用S=" ".join(S)还原成字符串

Python学习总结4:字符串常量与操作汇总的更多相关文章

  1. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  2. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  3. python学习9—文件基本操作与高级操作

    python学习9—文件基本操作与高级操作 1. 文件基本操作 打开文件,获得文件句柄:f = open('filename',encoding='utf-8'),open会查询操作系统的编码方式,并 ...

  4. c/c++再学习:常用字符串转数字操作

    c/c++再学习:常用字符串转数字操作 能实现字符串转数字有三种方法,atof函数,sscanf函数和stringstream类. 具体demo代码和运行结果 #include "stdio ...

  5. 【Python学习笔记】字符串操作

    字符串的表示 python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量 ...

  6. python学习二,字符串常用操作

    字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作 首先我们声明一个字符串变量 str = "hello world" 下面我们来依次介 ...

  7. python学习之初识字符串

    刚接触一门语言时,字符串是很容易遇到的, 例如要从读入或者写出, 字符串与数字间的转换等. 由于字符串, 列表和元组等类型具有一定的共性(由对象组成的序列,如字符串是字符序列), 在Python中统称 ...

  8. python学习笔记一--字符串

    一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+ ...

  9. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

随机推荐

  1. java Conditions

    //Listing 7-2. Achieving Synchronization in Terms of Locks and Conditions import java.util.concurren ...

  2. Bootstrap 表格和按钮

    一.表格 1.条纹状表格 行产生一行隔一行加单色背景效果 注:表格效果需要基于基本格式.table <table class="table table-striped"> ...

  3. BAT 遍历文件夹和子文件夹下所有文件

    echo off & color 0A ::指定起始文件夹 set DIR="%cd%" echo DIR=%DIR% :: 参数 /R 表示需要遍历子文件夹,去掉表示不遍 ...

  4. php--http与https的区别

    在URL前加https://前缀表明是用SSL加密的.你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和ht ...

  5. ubuntu下hadoop环境配置

    软件环境: 虚拟机:VMware Workstation 10 操作系统:ubuntu-12.04-desktop-amd64 JAVA版本:jdk-7u55-linux-x64 Hadoop版本:h ...

  6. Express创建并运行node项目(Jade和EJS模版引擎)

    1.创建Node项目 [Jade模板] > express nodeJade express创建项目若不显示指定模板,默认使用Jade,以下写法都可以: express -jade nodeJa ...

  7. 如何解决jQuery Validation针对动态添加的表单无法工作的问题?

    为了充分利用ASP.NET MVC在服务端呈现HTML的能力,在<利用动态注入HTML的方式来设计复杂页面>一文中介绍了,通过Ajax调用获取HTML来呈现复杂页面中某一部分界面的解决方案 ...

  8. 非常详细的docker学习笔记

    http://www.open-open.com/lib/view/open1423703640748.html 一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化 ...

  9. [收藏夹整理]OpenCV部分

    OpenCV中文论坛 OpenCV论坛 opencv视频教程目录(初级) OpenCV 教程 Opencv感想和一些分享 tornadomeet 超牛的大神 [数字图像处理]C++读取.旋转和保存bm ...

  10. 简述Mesos API–files

    Below is a set of endpoints available on a Mesos agent. These endpoints are reachable at the address ...