Python 字符串 (str)

作者博文地址:https://www.cnblogs.com/liu-shuai/

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

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

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

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

capitalize

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

casefold

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

center

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

count

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

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

expandtabs

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

find

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

format

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

index

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

join

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

isalnum

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

isalpha

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

isdecimal

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

isdigit

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

isspace

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

istitle

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

isupper

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

ljust

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

lower

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

lstrip

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

rstrip

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

strip

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

partition

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

replace

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

split

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

__add__

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

__contains__

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

__eq__

1 功能:判断字符串是否相等,返回值为True和False
2 str1 = 'spiritman'
3 str2 = 'spiritmans'
4 str1.__eq__(str2)
5 结果:False
上一篇:POJ 2492 并查集应用的扩展


下一篇:/etc/sysconfig/iptables 默认配置详解