创建字符串
1、内置类str()
>>> a=str(123)
>>> a
'123'
>>> type(a)
<class 'str'>
#int(a)可以将字符串'123'转化为整型123
2、var.__str__():临时转换
>>> a = [1,2,'a']
>>> a.__str__()
"[1, 2, 'a']"
>>> a
[1, 2, 'a']
3、'或''或'''
',''可混合。
'''," " "可创建换行字符串。
>>> a = "123'a'"
>>> b = '123"a"'
>>> c = '''123
... "a'b'"
... '''
>>> a,b,c
("123'a'", '123"a"', '123\n"a\'b\'"\n')
>>> len(a),len(b),len(c)
(6, 6, 11)
#显然,嵌套中的引号也算如字符数,整体是一个字符串
查找
1、str.index(sub_str,下标):从下标位置开始获取子串的最小位置,无下标时默认起始位置
str.rindex(sub_str):获取子串最大位置
>>> s = 'abcaabbcc'
>>> s.index('a')
0
>>> s.index('a',0)
0
>>> s.index('a',1)
3
>>> s.rindex('a')
4
2、str.find(sub_str,下标) / str.rfind(sub_str):同上,但未找到时不报错,返回-1
拼接
1、str.join(para):用str拼接多个字符串,参数para为可迭代对象list, tuple...
2、+
>>> ',,,'.join(('hello','my','world'))
'hello,,,my,,,world'
#,,,穿插在元素中
>>> 'hello'+','+'world'
'hello,world'
>>>
计数
1、str.count(sub_str,index1, index2):index1到index2之间,计算子串个数,区间左开右闭
2、str.__len__()与len(str)效果相同:计算字符个数
>>> a = 'aabbaaabbb'
>>> a.count('a',1)
4
>>> a.count('a',0,6)
4
>>> a.__len__()
10
>>> len(a)
10
替换
1、str.replace(sub_str, rep_str, 次数):用rep_str替换sub_str,从左至右,替换指定个数,缺省为全部替换
>>> 'aaaaa'.replace('a','A')
'AAAAA'
>>> 'aaaaa'.replace('a','A',3)
'AAAaa'
分割
1、str.split(spl_str, maxsplit=spl_count):按spl_str分割str,默认为空格;spl_count为分割次数,分割后为list
str.rsplit(maxsplit=spl_count):从右开始分割
>>> 'a bb ccc'.split()
['a', 'bb', 'ccc']
>>> 'a,bb,ccc'.split(',')
['a', 'bb', 'ccc']
>>> 'a bb ccc'.split(maxsplit = 1)
['a', 'bb ccc']
>>> 'a bb ccc'.rsplit(maxsplit = 1)
['a bb', 'ccc']
删除
1、str.strip(strip_str):删除字符串前后的多个字符,默认为空格
str.lstrip(strip_str) / str.rstrip(strip_str):只删除左/右端字符
>>> ' 123 '.strip()
'123'
>>> ' 123 '.lstrip()
'123 '
>>> ' 123 '.rstrip()
' 123'
>>> '--12--3--'.strip('--')
'12--3'
#中间的字符不删除
暂时只总结了非常常用的几个方法,有些功能的方法只有1条但有标号,表示需要补充