作者博文地址:http://www.cnblogs.com/spiritman/

Python字符串的常用操作包括以下但不限于以下操作:

 字符串的替换、删除、切片、复制、连接、比较、查找、分割等

以下将对字符串的内置操作方法进行总结,并以实力展示。

 使用type获取创建对象的类 type(name)
使用dir获取类的成员dir(name)
使用vars获取类的成员和各个成员的值

capitalize

1 功能:字符串首字母大写
2 语法:s.capitalize() -> string
3 name = 'spiritman'
4 name.capitalize()
5 结果:'Spiritmans'

casefold

 功能:字符串首字母小写
2 语法:s.casefold() -> string
name = 'SpiritMan'
name.casefold()
结果:'spiritMan'

center

 功能:字符串宽度填充。使用原有字符串+填充字符构成指定长度的新的字符串
2 语法:S.center(width[, fillchar]) -> string
name = 'spiritman'
name.center(13)
结果:' spiritman ' #默认以空格填充
name.center(14,'*')
结果:'***spiritman**'
###################################################################
功能:字符串居中。以'*'分割(20位新产生字符串的总宽度)
name = 'spiritman'
name.center(15,'*')
结果:'***spiritman***'

count

 功能:统计某个字符或子序列在字符串中出现的次数,或在字符串指定区间内完成上述操作
2 语法:S.count(sub[, start[, end]]) -> int
name = 'spiritman'
name.count('i')
结果:2
name.count('h',1,3) #从索引值0-3范围的字符中统计'h'出现的次数
结果:1 name.count('rit') #统计子序列rit出现的次数
结果:1

encode

 1 功能:对字符串进行编码操作
2 语法:S.encode([encoding[,errors]]) -> object
3 name = 'spiritman'
4 name.encode()
5 结果:'spiritman'
6
7 功能:转换字符串的编码
8 name = '精灵旅社'
9 name.encode('gbk')
10 结果:'\xc4\xcf\xb7\xc7\xb2\xa8\xb2\xa8'

endswith

 功能:判断字符串是否以某个字符或子序列结尾的,返回值为布尔型
2 语法:S.endswith(suffix[, start[, end]]) -> bool
name = 'spiritman'
name.endswith('s')
结果:False
name.endswith('n')
结果:True
name.endswith('man')
结果:True

expandtabs

 功能:将制表符'\t'转换成指定宽度的tab键分割,默认tabsize=8
2 语法:S.expandtabs([tabsize]) -> string
name = 'spirit\tman'
name.expandtabs()
结果:'spirit man'
name.expandtabs(4)
结果:'spirit man'

find

 功能:在字符串中查找指定字符串,找到则返回其索引值,找不到返回-1
语法:s.find(sub [,start [,end]]) -> int
name = 'spiritman'
name.find('s')
结果:0
name.find('i')
结果:2
name.find('m',1,4)
结果:-1

format

 功能:格式化输出字符串
语法:S.format(*args, **kwargs) -> string
test = 'I\'m {},{}'
test.format('spiritman',' Welcome')
结果: "I'm spiritman,Welcome"

index

 功能:在字符串中查找指定的字符串,找到则返回索引值,找不到时报错
语法:S.index(sub [,start [,end]]) -> int
name = 'spiritman'
name.index('r')
结果:3
name.index('rit')
结果:3

join

 功能:字符串连接
语法:S.join(iterable) -> string
name = 'spiritman'
'*'.join(name)
结果:'s*p*i*r*i*t*m*a*n'

isalnum

 功能:检查判断字符串是否包含字母数字字符
语法: S.isalnum() -> bool
name = 'spiritman'
name.isalnum()
结果:True

isalpha

 功能:检查字符串是否只由字母组成
语法:S.isalpha() -> bool
name = 'spiritman1'
name.isalpha()
结果:False

isdecimal

 功能:检查字符串是否只包含十进制字符。该方法只存在于unicode对象
语法:S.isdecimal() -> bool
name = 'spiritman'
name.isdecimal()
结果:False

isdigit

 功能:检测字符串是否只由数字组成
语法:S.isdigit() -> bool
num = '21312414'
num.isdigit()
结果:True

isspace

 功能:检测字符串是否为空格
语法:S.isspace() -> bool
name = ' '
name.isspace()
结果:True
test = 'spiritman'
test.isspace()
结果:False

istitle

 功能:判断字符串是否适合当做标题(即每个单词首字母大写)
语法:S.istitle() -> bool
s1 = 'A People'
s2 = 'a people'
s1.istitle()
结果:True
s2.istitle()
结果:False

isupper

 功能:判断字符串中所有字母字符是否都是大写字母
语法:S.isupper() -> bool
name = 'spiritman'
NAME = 'SPIRITMAN'
name.isupper()
结果:False
NAME.isupper()
结果:True

ljust

 功能:返回一个以原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
语法:S.ljust(width[, fillchar]) -> string
width #指定字符串长度
fillchar #填充字符,默认空格
name = 'spiritman'
name.ljust(20.'*')
结果:'spiritman***********'

lower

 功能:将所有的字母转换成小写
语法:S.lower() -> string
name = 'SpiritMan'
name.lower()
结果:'spiritman'

lstrip

 功能:删除字符串左边指定的字符,默认为空格
语法:S.lstrip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.lstrip()
结果:'spiritman '
name1.lstrip('x')
结果:'spiritmanxxx'

rstrip

 功能:删除字符串右边指定的字符,默认为空格
语法:S.rstrip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.rstrip()
结果:' spiritman'
name1.rstrip('x')
结果:'xxxspiritman'

strip

 功能:删除字符串两边指定的字符,默认为空格
语法:S.strip([chars]) -> string or unicode
name = ' spiritman '
name1 = 'xxxspiritmanxxx'
name.strip()
结果:'spiritman'
name1.strip('x')
结果:'spiritman'

partition

 功能:根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
语法:S.partition(sep) -> (head, sep, tail)
sep = 'rit'
name = 'spiritman'
name.partition(sep)
结果:('spi','rit','man')

replace

 功能:字符串替换。若指定参数count,则替换不超过count次
语法: S.replace(old, new[, count]) -> string
参数: old -----将被替换的子字符串
new ---- 新字符串,用于替换old字符串
count--- 可选参数,替换不超过count次
str = 'this is a test file....wow!!! this is a realy file'
str.replace('is','was')
结果:'thwas was a test file....wow!!! thwas was a realy file'
str.replace('is','was',3)
结果:'thwas was a test file....wow!!! thwas is a realy file'

split

 功能:字符串切割,默认空格
语法: S.split([sep [,maxsplit]]) -> list of strings
name = 'spiritman'
name.split()
结果:['spiritman']
name.split('i')
结果:['sp', 'r', 'tman']

__add__

 功能:在字符串后面添加指定的字符或字符串
name = 'spiritman'
str = 'liu'
name.__add__('s')
结果:'spiritmans'
name.__add__(str)
结果:'spiritmanliu'

__contains__

 功能:判断指定字符串是否包含在字符串中,返回值为True和False
name = 'spiritman'
name.__contains__('i)
结果:True

__eq__

 功能:判断字符串是否相等,返回值为True和False
str1 = 'spiritman'
str2 = 'spiritmans'
str1.__eq__(str2)
结果:False

作者博文地址:http://www.cnblogs.com/spiritman/

Python序列之字符串 (str)的更多相关文章

  1. python 序列:字符串、列表、元组

    python 序列:字符串.列表.元组   序列:包含一定顺序排列的对象的一个结构 内建函数:str() list() tuple() 可以使用str(obj)可以把对象obj转换成字符串 list( ...

  2. Python——序列与字符串

    序列与字符串 一. 列表 列表是Python的内置可变序列,是包含若干元素的有序连续内存空间.同一列表元素的数据类型可以各不相同,可以分别为整数.实数.字符串等基本类型,也可以是列表.元组.字典.集合 ...

  3. 3、python数据类型之字符串(str)

    字符串是任何计算机语言中最常见的数据类型,python中也不例外,因此熟练掌握字符串是学习python的必备技能.python中字符串三种定义方式 str = 'wang' str = "w ...

  4. python数据类型之字符串(str)和其常用方法

    字符串是有序的,不可变的. 下面的例子说明了字符串是不可变的 name = 'alex' name = 'Jack' """ 并没有变,只是给name开启了一块新内存,储 ...

  5. 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片

    目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...

  6. python序列类型字符串的方法L.index()与L.find()区别

    首先官方解释 S.index(sub[, start[, end]]) -> int Like S.find() but raise ValueError when the substring ...

  7. Python基础之字符串(str)常用操作

    1.字符串常用的方法 len()返回字符串的长度 ##Python3 >>> print(len('ab12我')) 5 ##Python2 >>> print(l ...

  8. python之将一个字符串str的内容倒叙过来,并输出。

    inStr = input() flashback = inStr[::-1] print(flashback)

  9. python学习笔记:python序列

    python序列包括字符串.列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数. 一.python序列 序列类型操作符 标准类型的操作符一般都能适用于所有的序列类型,这里说一 ...

随机推荐

  1. Java并发编程(七)终结线程

    线程的状态 一个线程会有如下五个状态 1.新建:线程在被创建时会暂时处于这种状态,此时系统为线程分配资源并对其进行初始化 2.就绪:此时线程已经可以运行,只是系统没有为其分配CPU时间. 3.运行:系 ...

  2. Vue 源码分析—— 目录结构

    一,Vue.js 的源码都是在src 目录下,其目录结构如下. 1.compiler 目录包含Vue.js 所有编译相关的代码.它包括把所有模板解析成ast 语法树, ast 语法树优化等功能. 2. ...

  3. xftp

    SFTP.FTP 文件传输软件. 所有通过该软件的网络流量都是加密的. 1.点击新建 2.新建一个链接 3.点击确定,保存,然后点击该链接 4.链接服务器成功后,如下图右侧,可以增删改查文件.左侧文件 ...

  4. Delphi XE7的Splash 功能

    Delphi XE5,XE6,XE7编译的程序在Android下启动会有一段时间黑屏,以前需要用Java扩展Activity增加Splash显示, 现在Delphi XE7增加了Splash Imag ...

  5. 编写DVWA暴力破解High级别的Python脚本

    1. 过程(不查看源代码) 使用burpsuite或者owasp zap抓取数据包,可以看出页面执行过程如下: 首先获取上一次请求的token,然后sleep几秒,最后使用get方法提交验证. 2. ...

  6. MFC 中的 Value 和 Control

    一.變量類型不同:control 型变量是这个控件所属类的一个实例(对象),控制對象的變量.即變量代表對象本身.代表這個人!value 是用来传递数据,不能对控件进行其它的操作.向變量傳遞數據.代表這 ...

  7. 转 关于window10安装jdk,配置环境变量,javac不是内部或外部命令,也不是可运行的程序 或批处理文件的细节问题。

    今日拿到一台新的window10笔记本电脑,非常熟练的安装了JDK(因为在学校经常给同学安装JDK - -)但是发现java java -version命令都可以使用,唯独javac命令出现不是内部或 ...

  8. SET HANDLER - FOR

    Syntax SET HANDLER handler1 handler2 ... FOR { oref |{ALL INSTANCES} }                               ...

  9. 20155210潘滢昊 2016-2017-2 《Java程序设计》第4周学习总结

    20155210 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 extends:单一继承. 抽象方法.抽象类: abstract:Java中有抽象方法的类一 ...

  10. 20155217 2016-2017-2 《Java程序设计》第2周学习总结

    20155217 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 Java中的基本类型主要可分为整数.字节.浮点数.字符与布尔. 整数可分为short整数(占 ...