Python—字符串的操做

字符串的操做linux

变量:
变量只能是 字母,数字或下划线的任意组合,但首个字符不能为数字,且不能有空格
如下关键字不能声明为变量:
and ,as,   assertbreakclasscontinuedefdelelifelseexcept 
execfinallyforfrom ,golbal,  ifimportinis ,lamda ,notorpassprintraise
returntrywhile ,with ,yield
变量的命名

字符串都是可哈希的(不可变),所以字符串的操做都是生成新的字符串,不是修改原始值。可是列表是可变的,所以列表的方法都是直接修改原始值。git

方法按字母索引:api

1.  C-Fide

 1 >>> name = "my name is gkxxxx"
 2 >>> name.capitalize()  3 'My name is gkxxxx'
 4 >>> name.casefold()  5 'my name is gkxxxx'
 6 >>> #casefold 与lower很像,不过lower只针对ASCII码的字母
 7 >>> name.center(10,"-")  8 'my name is gkxxxx'
 9 >>> name.center(40,"-")
10 '-----------my name is gkxxxx------------'
11 >>> #输出40个字符,若name不足,用“-”补足,其中name里的空格也算字符数
12 >>> name.endswith("x") # 'gkxpanda'.startswith('x',2,5) ---> 对字符串切片2,5(顾头不顾尾),判断是否以x开头 13 True                       #  对于判断字符串的开头结尾,能够当作判断 str[0],str[-1],由于字符串也有index
14 >>> name.endswith("aa")
15 False
16 >>> #判断字符串结尾,正确返回true,好比是否以.com结尾,不能为空,会报错。
17 >>> name.expandtabs(tabsize=30) 18 'my name is gkxxxx'
19 >>> #假如name中有“\t”,则把扩大tap的字符数。  ‘g\tkx’若是默认,则是\t往前补8位,好比 此处字母只有1个g,会再补7个空格
20 >>> name.find("name") #找不到返回 -1 21 3
22 >>> #找到name的起始位置,Ps:字符串也能够切片,以下:
23 >>> name[name.find("name"):9]
24 'name i'
25 >>> name[name.find("name"):7]
26 'name'
27 >>> name2 = "my name is {name_2}"
28 >>> name2.format(name_2=name) 29 'my name is my name is gkxxxx'
30 >>> #format 格式化输出
31 >>> name2.format_map({'name_2':'gkxxx'}) 32 'my name is gkxxx'
33 >>> #format_map 也是格式化输出,不过用的是字典,不多用就是了

 

#format
>>> name = '1'
>>> age = 1
>>> a = '{},{}'.format(name,age)
>>> a
'1,1'

字符串中有多少大括号,foamat后面就能够跟几个ui

 

 

 

 

2.   i加密

 1 >>> name.index('m')  2 0
 3 >>> print('ab23'.isalnum)
 4 <built-in method isalnum of str object at 0x000001F2A409C228>
 5 >>> #包含全部的英文字符和1~9,返回true,若是有特殊字符就返回false
 6 >>> name.isalpha()  7 False
 8 >>> name_3 = 'abc'
 9 >>> name_3.isalpha()
10 True
11 >>> name.isdecimal() 12 False
13 >>> #是不是十进制
14 >>> name.isdigit() 15 False
16 >>> #是不是数字
17 >>> name.isidentifier() #判断是否是一个合法的标识符(变量名)
18 False
19 >>> name_3.isidentifier()
20 True
21 >>> name_3.islower() 22 True
23 >>> #判断是否是小写
24 >>> print('33'.isnumeric()) 25 True
26 >>> #与 .isdigit差很少
27 >>> #带小数返回false
28 >>> name_4 = 'My Name Is Gkxx'
29 >>> name_4.istitle() #判断是否开头都是大写
30 True
31 >>> name_4.isprintable() #若是是字符串不用考虑是否能够打印,相似linux ttyfile drive file不能打印
32 True
33 >>> name_4.isupper() 34 False
35 >>> 

 3. J~Zspa

 1 >>> print('+'.join(['1','2','3','4','5']))
 2 1+2+3+4+5
 3 >>> print('+'.join(['1','2','3','4','5'])) #emmmm,如结果所示
 4 1+2+3+4+5
 5 >>> name.ljust(40,'*')  #同center,左边字符串不足位数,自动补位
 6 'my name is gkxxxx***********************'
 7 >>> name.rjust(40,'-')  #同center,ljust 右边字符串不足位数,自动补位
 8 '-----------------------my name is gkxxxx'
 9 >>> name.lower()  #全小写,作验证码登录能够用f
10 'my name is gkxxxx'
11 >>> name.upper()  #全大写
12 'MY NAME IS GKXXXX'
13 >>> name_5= '     gkx       '
14 >>> name_5.lstrip() 15 'gkx       '
16 >>> name_5.rstrip() 17 '     gkx'
18 >>> name_5.strip() #'sdgx@sd f#'.strip(' @#') ---> 'sdgx@sd f'只要是位于首尾的特殊字符,空格,数字,直接写在.strip()的参数里,均可以删除,可是中间的就不会删 19 'gkx'
#strip的坑:
>>> a = 'aaa****ab'
>>> a.strip('ab')
>>'****'     #用字母去作strip的时候,会去掉全部的字母
20 >>> 
21 >>> ser = str.maketrans('abcdefg','1234567') 22 >>> text = 'c is after a' 23 >>> text.translate(ser) 24 '3 is 16t5r 1' 25 >>> # maketrans能够设置一一对应的字符,translate能够翻译maketrans,从而达到加密效果
26 >>> 
27 >>> name_6 = 'my name is gkx'
28 >>> name_6.partition(" ") 29 ('my', ' ', 'name is gkx')
30 >>> #根据字符串已有的分隔符,把字符串分割成tuple
31 >>> 
32 >>> name.replace('x','WW')
33 'my name is gkWWWWWWWW'
34 >>> name.replace('m','M',0)
35 'my name is gkxxxx'
36 >>> name.replace('x','WW',1) #不写1则替换全部的X为WW,写了就只替换第一处x 37 'my name is gkWWxxx'
38 >>> #对字符串的值进行替换,最后一个数字表示,想替换的个数
39 >>> 
40 >>> name.rfind('y') #同find,不过find默认找到最左边的值的index,rfind默认找到最右边的值的index
41 1
42 >>> 
43 >>> name.split(' ')  #根据字符串已有的分隔符,把字符串分割成列表,此处分隔符为空格
44 ['my', 'name', 'is', 'gkxxxx']

  "aa_bb_cc".rsplit('_',1) #从右边开始分割,只分割一次
  >>> ['aa_bb','cc']
45 >>> name_7 = '1+2\n+3' 46 >>> name_7.splitlines() 47 ['1+2', '+3'] 48 >>> #同split ,默认是用\n换行符,分割 49 >>> 50 >>> name_8 = 'MY name IS gkx' 51 >>> name_8.swapcase() #转换大小写 52 'my NAME is GKX' 53 >>> name_8.title() #首字母大写,每一个隔开的(空格,特殊字符,数字)单词首字母大写 54 'My Name Is Gkx' 55 >>> name_8.zfill(50) #自动用0补位 56 '000000000000000000000000000000000000MY name IS gkx' 57 >>>
相关文章
相关标签/搜索