1、find
find 可以在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引。如果没有找到则返回-1.
>>> a = "test"
>>> a.find('s')
2
find其实和列表取步长的方法联用来截取某段需要的字符串
>>> a = "hello world"
>>> iwantstring = a[a.find('w'):a.find('r')]
#相当于 iwantstring = a[6:8]
>>> iwantstring
'wo'
2、join
join 是非常重要的字符串方法,它是split方法的逆方法,用来在队列中添加元素。注意:需要添加的队列元素都必须是字符串。
>>> test = ['a','b','c','d']
>>> out = '+'.join(test)
>>> out
'a+b+c+d'
3、replace
replace 返回某个字符串的所有匹配项均被替换之后得到的字符串。
>>> a = 'hello world'
>>> b = a.replace('l','t')
>>> b
'hetto wortd'
4、split
这是个非常重要的字符串方法,它是join的逆方法,用来将字符串按指定字符串元素进行分割并返回列表。注意:如果不提供任何分隔符,程序会把所有空格作为分隔符(空格、制表、换行等)
>>> a = 'hello world'
>>> b = a.split('l')
>>> b
['he', '', 'o wor', 'd']
5、strip
strip返回去除两侧(不包含内部)空格的字符串
>>> a = ' hello world '
>>> b = a.strip()
>>> b
'hello world'
6、translate
translate 和 replace 一样,可以替换字符串中的某些部分,但是和前者不同的是,translate只处理单个字符,它的优势在于可以同时进行多个替换,有些时候比replace 效率高得多。
在使用translate 转换前,需要先完成一张转换表,转换表中是以某字符替换某字符的对应关系。因为这个表(事实上是字符串)有多达256个项目,我们还是不要自己写了,用string模块里面的maketrans函数就行了。
maketrans 函数接收两个参数:两个等长的字符串,表示第一个字符串中的每个字符都用第二个字符串中相同位置的字符进行替换。
>>> from string import maketrans
>>> table = maketrans('ho', 'at')
创建这个表后,可以用它用作translate 的参数,进行字符串的转换:
>>> a = 'hello world'
>>> b = a.translate(table)
>>> b
'aellt wtrld'
translate 的第二个参数是可选的,这个参数用来指定需要删除的字符。
>>> b = a.translate(table, ' ')
>>> b
'aelltwtrld'
7、= 生成字符串变量
>>> test = 'hello world'
>>> test
'hello world'
8、len 字符串长度获取
>>> a = 'hello world'
>>> b = len(a)
>>> b
11
9、+ 连接字符串
>>> a = 'hello'
>>> b = ' '
>>> c = 'world'
>>> d = a+b+c
>>> d
'hello world'
10、截取字符串
注意:一定要搞清楚下标是从0开始的,列表右边的元素是不被包含的
>>> a = '0123456789'
>>> b = a[0:3] # 截取第一位到第三位的字符
>>> b
'012'
>>> b = a[:] #截取字符串的全部字符
>>> b
'0123456789'
>>> b = a[6:] # 截取第7位字符到结尾
>>> b
'6789'
>>> b = a[:-3] #截取从开头到倒数第三位字符之前的字符
>>> b
'0123456'
>>> b = a[2] # 截取第三个字符
>>> b
'2'
>>> b = a[-1] # 截取倒数第一个字符
>>> b
'9'
>>> b = a[::-1] # 创造一个与原字符串顺序相反的字符串
>>> b
'9876543210'
>>> b = a[-3:-1] #截取倒数第三位到倒数第一位之前的字符
>>> b
'78'
>>> b = a[-3:] # 截取倒数第三位到结尾的字符
>>> b
'789'
转载请注明:八度生活 » Python 字符串方法详解