python中字符串的常规处理

1、以字符串为中心进行补充

>>> test1="ab"
>>> len(test1)
2
>>> test1.center(10," ")
'    ab    '
>>> test2=test1.center(10," ")
>>> len(test2)
10
>>> test2=test1.center(10,"x")
>>> test2
'xxxxabxxxx'
>>> test2=test1.center(10,"y")
>>> test2
'yyyyabyyyy'
>>> test2=test1.center(20,"y")
>>> test2
'yyyyyyyyyabyyyyyyyyy'
>>> test2=test1.center(11,"y")
>>> test2
'yyyyyabyyyy'

2、统计特定字符出现的次数

>>> test1="aabbbcccabc"
>>> test1.count("a")
3
>>> test1.count("b")
4
>>> test1.count("c")
4
>>> test1.count("c",0,5)
0
>>> test1.count("c",0,7)
2
>>> test1.count("c",0,6)
1
>>> test1.count("c",0,8)
3
>>> test1.count("c",0,len(test1))
4

3、大小写转换

>>> test1="aaBBcc"
>>> test1.upper()
'AABBCC'
>>> test1.lower()
'aabbcc'
>>> test1.title()
'Aabbcc'
>>> test1.capitalize()
'Aabbcc'
>>> test1.casefold()
'aabbcc'

4、判定结尾字符

>>> test1="aaBBcc"
>>> test1.endswith("a")
False
>>> test1.endswith("c")
True
>>> test1.endswith("a",0,2)
True
>>> test1.endswith("a",0,3)
False

5、把制表符转换为空格

>>> test1="aa\tbb"
>>> test1.expandtabs(tabsize=8)
'aa      bb'
>>> test1.expandtabs(tabsize=16)
'aa              bb'
>>> test1.expandtabs(tabsize=2)
'aa  bb'

6、返回字母的索引

>>> test1="xgdegdsgj"
>>> test1.find("x")
0
>>> test1.find("a")
-1
>>> test1.find("g")
1
>>> test1.find("d")
2
>>> test1.find("j")
8
>>> test1.find("e")
3
>>> test1.find("g")
1
>>> test1.find("g",2,6)
4
>>> test1.find("g",5,len(test1))
7

7、返回字母索引

>>> test1="dgekgvsge"
>>> test1.index("d")
0
>>> test1.index("a")
Traceback (most recent call last):
  File "<pyshell#166>", line 1, in <module>
    test1.index("a")
ValueError: substring not found
>>> test1.index("k")
3
>>> test1.index("g")
1
>>> test1.index("g",3,7)
4

8、判断字符串是否仅有数字和字母组成

>>> test1="fsa234fgsd"
>>> test2="fsdgsdfa"
>>> test3="32525325"
>>> test4="fsda_+dsf3"
>>> test1.isalnum()
True
>>> test2.isalnum()
True
>>> test3.isalnum()
True
>>> test4.isalnum()
False

9、判断字符串是否仅有字母组成

>>> test1="fsadfg"
>>> test2="3425543"
>>> test3="fs2432fsa"
>>> test4="fsd34_,fas"
>>> test1.isalpha()
True
>>> test2.isalpha()
False
>>> test3.isalpha()
False
>>> test4.isalpha()
False

10、判断是否仅有十进制树?

>>> test1="sdgfds"
>>> test2="34523"
>>> test3="afsd2354"
>>> test4="sfa24325-,/5fds"
>>> test1.isdecimal()
False
>>> test2.isdecimal()
True
>>> test3.isdecimal()
False
>>> test4.isdecimal()
False

11、判断是否仅有数字

>>> test1="fafssdf"
>>> test2="2355"
>>> test3="fdsaf25445"
>>> test4="sfda324,/_3245"
>>> test1.isdigit()
False
>>> test2.isdigit()
True
>>> test3.isdigit()
False
>>> test4.isdigit()
False

12、判断是否仅有小写字符组成

>>> test1="fasf"
>>> test2="FDSFsgfds"
>>> test3="FDSFA"
>>> test4="23453fs"
>>> test5="235"
>>> test6="fds3255_=.dfs"
>>> test1.islower()
True
>>> test2.islower()
False
>>> test3.islower()
False
>>> test4.islower()
True
>>> test5.islower()
False
>>> test6.islower()
True

13、判断字符串是否仅有数值构成

>>> test1="fasdf"
>>> test2="53425"
>>> test3="asdf23432"
>>> test4="asf=-./"
>>> test1.isnumeric()
False
>>> test2.isnumeric()
True
>>> test3.isnumeric()
False
>>> test4.isnumeric()
False

14、判断字符串是否仅有空白字符构成

>>> test1="fafsdsf"
>>> test2="2345"
>>> test3="dfasaf32432"
>>> test4="afsd324,+"
>>> test5="     "
>>> test6="fa 3345 reee"
>>> test7="fds\t3dfs\t345"
>>> test1.isspace()
False
>>> test2.isspace()
False
>>> test3.isspace()
False
>>> test4.isspace()
False
>>> test5.isspace()
True
>>> test6.isspace()
False
>>> test7.isspace()
False
>>> test8=""
>>> test8.isspace()
False

15、 判断是否首字符为大写

>>> test1="sfaser"
>>> test2="3245"
>>> test3="sdfadf325432"
>>> test4="Rfdsa"
>>> test5="FSAFGSA"
>>> test6="3245Ffdsa"
>>> test7="G534"
>>> test1.istitle()
False
>>> test2.istitle()
False
>>> test3.istitle()
False
>>> test4.istitle()
True
>>> test5.istitle()
False
>>> test6.istitle()
True
>>> test7.istitle()
True

16、判断是否仅有大写字母组成

>>> test1="dfs"
>>> test2="234"
>>> test3="dfsd2432"
>>> test4="FSDG"
>>> test5="faFDSG"
>>> test6="3435DSFG"
>>> test7="GDF-=,"
>>> test1.isupper()
False
>>> test2.isupper()
False
>>> test3.isupper()
False
>>> test4.isupper()
True
>>> test5.isupper()
False
>>> test6.isupper()
True
>>> test7.isupper()
True

17、在字符串中插入分隔符

>>> test1="abcd"
>>> "xx".join(test1)
'axxbxxcxxd'
>>> "100".join(test1)
'a100b100c100d'
>>> "100yy".join(test1)
'a100yyb100yyc100yyd'
>>> "_".join(test1)
'a_b_c_d'
>>> "+".join(test1)
'a+b+c+d'
>>> "/".join(test1)
'a/b/c/d'

18、给字符串指定宽度,并填充

>>> test1="ab"
>>> test1.ljust(10)
'ab        '
>>> test1.ljust(20)
'ab                  '
>>> test1.ljust(20,"x")
'abxxxxxxxxxxxxxxxxxx'
>>> test1.ljust(20,"xy")
Traceback (most recent call last):
  File "<pyshell#293>", line 1, in <module>
    test1.ljust(20,"xy")
TypeError: The fill character must be exactly one character long
>>> test1.ljust(20,"1")
'ab111111111111111111'
>>> test1.ljust(20,"_")
'ab__________________'
>>> test1.ljust(20,"/")
'ab//////////////////'

19、给字符串指定宽度、并填充

>>> test1="ab"
>>> test1.rjust(10)
'        ab'
>>> test1.rjust(10,"x")
'xxxxxxxxab'
>>> test1.rjust(20,"x")
'xxxxxxxxxxxxxxxxxxab'
>>> test1.rjust(20,"xy")
Traceback (most recent call last):
  File "<pyshell#301>", line 1, in <module>
    test1.rjust(20,"xy")
TypeError: The fill character must be exactly one character long
>>> test1.rjust(20,"0")
'000000000000000000ab'
>>> test1.rjust(20,"7")
'777777777777777777ab'
>>> test1.rjust(20,"-")
'------------------ab'
>>> test1.rjust(20,"+")
'++++++++++++++++++ab'
>>> test1.rjust(20,">")
'>>>>>>>>>>>>>>>>>>ab'

 20、分割字符串

>>> test1="aabbccddee"
>>> test2="aabbccddcceeccff"
>>> test1.partition("cc")
('aabb', 'cc', 'ddee')
>>> test2.partition("cc")
('aabb', 'cc', 'ddcceeccff')
>>> test2.partition("gg")
('aabbccddcceeccff', '', '')

21、替换指定字符串

>>> test1="aabbccddaaee"
>>> test1.replace("a","x")
'xxbbccddxxee'
>>> test1.replace("a","x",1)
'xabbccddaaee'
>>> test1.replace("a","x",2)
'xxbbccddaaee'

22、从右至左返回索引

>>> test1="abcdbdaca"
>>> test1.find("a")
0
>>> test1.rfind("a")
8
>>> test1.find("b")
1
>>> test1.rfind("b")
4

23、从右至左返回索引

>>> test1="abcdsbca"
>>> test1.index("a")
0
>>> test1.rindex("a")
7
>>> test1.index("b")
1
>>> test1.rindex("b")
5

24、从右开始分割字符串

>>> test1="aabbccddbbeeff"
>>> test1.rpartition("bb")
('aabbccdd', 'bb', 'eeff')

25、分离字符串

>>> test1="aabbccaaddeeaaffaaggaahh"
>>> test1.split("aa")
['', 'bbcc', 'ddee', 'ff', 'gg', 'hh']
>>> test1.split("aa",1)
['', 'bbccaaddeeaaffaaggaahh']
>>> test1.split("aa",2)
['', 'bbcc', 'ddeeaaffaaggaahh']
>>> test1.split("aa",3)
['', 'bbcc', 'ddee', 'ffaaggaahh']
>>> test1.split()
['aabbccaaddeeaaffaaggaahh']

26、以换行符分割字符串

>>> test1="aabbcc\nddee\nffgg\nhhii"
>>> test1.splitlines()
['aabbcc', 'ddee', 'ffgg', 'hhii']

27、判断字符串的开端

>>> test1="aabbcc"
>>> test2="3245dfg"
>>> test3="-fsda"
>>> test1.startswith("a")
True
>>> test1.startswith("b")
False
>>> test1.startswith("1")
False
>>> test2.startswith("3")
True
>>> test2.startswith("1")
False
>>> test2.startswith("d")
False
>>> test3.startswith("f")
False
>>> test3.startswith("-")
True

28、删除两边特定字符

>>> test1="  aabbcc  "
>>> test1.strip()
'aabbcc'
>>> test1.strip("aa")
'  aabbcc  '
>>> test1="aabbcc"
>>> test1.strip("aa")
'bbcc'
>>> test1="aabbaaccdd"
>>> test1.strip("aa")
'bbaaccdd'

29、删除字符串中的指定字符

>>> test1="aabbccddaaee"
>>> test1.replace("aa","xx")
'xxbbccddxxee'
>>> test1.replace("aa","")
'bbccddee'

30、大小写转换

>>> test1="435aaBBcc__dd"
>>> test1.swapcase()
'435AAbbCC__DD'

31、指定宽度并填充字符串

>>> test1="aabb"
>>> test1.zfill(10)
'000000aabb'
>>> test1.zfill(20)
'0000000000000000aabb'
原文地址:https://www.cnblogs.com/liujiaxin2018/p/14181727.html