day3_字符串常用方法

s.upper()
s.lower()
s.capitalize()
s.split(',')
s.strip('abc')
s.lstrip()
s.rstrip()
s.replace('old','new')
s.endswith('xxx.mp3')
s.startswith('186')
','.join('sdfsdfds')
s.isdigits()
s.isalnum()
s.zfill(5)
以上重要,要记住
s.find()

 

1、strip():用于删除字符串头部和尾部指定的字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等。

strip() 方法语法:S.strip([chars])

chars -- 可选参数,要删除的指定字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等

实例1:

>>> a = '  sdf   '

>>> a.strip()

'sdf'

2、lstrip():截掉 string 左边的空格、换行符、制表符等

3、rstrip():截掉 string 右边边的空格、换行符、制表符等

实例2:

a = '.jpgskdjfsdklfjskdf.jpg'

a.rstrip('.jpg')                         #将字符串的头部和尾部的.jpg去掉

'skdjfsdklfjskdf'

4、upper():转换 string 中的小写字母为大写

5、lower():转换 string 中所有大写字符为小写.

6、capitalize():把字符串的第一个字符大写

7、count() :用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

语法:str.count(sub,start=0,end=len(string))

参数:

sub -- 搜索的子字符串

start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。

end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

8、replace() 方法:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法:str.replace(old,new[,max])

参数:

old -- 将被替换的子字符串。

new -- 新字符串,用于替换old子字符串。

max -- 可选字符串, 替换不超过 max 次

 

实例:

a = 'abcdabcad'
print(a.replace('a','上山打老虎',2))

输出:

上山打老虎bcd上山打老虎bcad               #替换了两个地方,第三个地方没有替换

实例2:可以连续替换,如果没有要替换的内容,也不会报错。

1     name = p_word.replace('xianchang','xc').replace('wangluo','wl').replace('cengke','ck').replace('zhujiao','zj')

9、endswith() 判断以啥结尾的  返回值True   False

10、startswith() 判断以什么开头

11、 split() :把字符串变成list,以某个字符串分隔,如果分隔符不存在,则变成list,不做分隔

语法:
str.split(str="", num=string.count(str))

参数:

str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。

num -- 分割次数。

实例1

names = '小红,小黑,小白,小绿'
print(names.split(','))

输出:

['小红,小黑,小白,小绿']

 

实例2

names = '小红,小黑,小白,小绿'
print(names.split(',',1))            #分隔一次
输出:
['小红', '小黑,小白,小绿']               #

 

12、 join() :用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法:str.join(sequence)

   参数:sequence -- 要连接的元素序列。

   返回值:返回通过指定字符连接序列中元素后生成的新字符串

   str.join(元组、列表、字典、字符串) 之后生成的只能是字符串。

1 users = ['abc','dsf','RRRR']
2 res = ','.join(users)  #1、把list变成字符串 2、把list里面的每一个元素用逗号连接起来
3 print(res)
4 print('-----'.join(users)) #用'-----'符号链接,生成一个新的字符串。
 1 list1 = ['a','b','c']  #列表,join连接各元素
 2 tupl1 = ('a''b','c')   #元组,join连接各元素
 3 dic1 = {'a':'123','b':'456'}  #字典,join连接各key
 4 str1 = 'sdfsadf'   #字符串,join连接各字符
 5 
 6 a = '-'.join(list1)  #用指定字符连接,生成个新字符串
 7 b = '-'.join(tupl1)
 8 c = '-'.join(dic1)
 9 d = '-'.join(str1)
10 print('连接列表:',type(a),a)   #打印类型,以及新字符串
11 print('连接元组:',type(b),b)
12 print('连接字典:',type(c),c)
13 print('连接字符串:',type(d),d)

13、 isdigit()检测字符串是否只由数字组成。也可以说该方法可以判断是否是0或正整数

语法:str.isdigit()

参数:无

返回值:如果字符串只包含数字则返回 True 否则返回 False

 1 a = '0'  #isdigit()返回True
 2 b = '1'  #isdigit()返回True
 3 c = '-1' #isdigit()返回False
 4 d = 'a1' #isdigit()返回False
 5 e = 's'  #isdigit()返回False
 6 f = '1.56'  #isdigit()返回False
 7 print(a.isdigit())
 8 print(b.isdigit())
 9 print(c.isdigit())
10 print(d.isdigit())
11 print(e.isdigit())
12 print(f.isdigit())

14、find() 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法:str.find(str, beg=0, end=len(string))

参数:

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

返回值:如果包含子字符串返回开始的索引值,否则返回-1。

1 s = 'abcd1b2a34_'
2 print(s.find('a'))  #从下标0开始查到最后,查找在字符串第一个出现的子串返回结果:0
3 print(s.find('_'))  #返回结果:10
4 print(s.find('a',1))  #从下标1开始查找,返回结果7
5 print(s.find('b',2,6)) #从下标2到下标6,不包括6,返回结果5
6 print(s.find('A'))   #不存在,返回-1

15、index()方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法:str.index(str, beg=0, end=len(string))

参数:

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

返回值;如果包含子字符串返回开始的索引值,否则抛出异常。

1 s = 'abcd1b2a34_'
2 print(s.index('a'))  #返回结果:0
3 print(s.index('_'))  #返回结果:10
4 print(s.index('a',1))  #从下标1开始查找,返回结果7
5 print(s.index('b',2,6)) #从下标2到下标6,不包括6,返回结果5
6 print(s.index('A'))   #不存在,抛出异常

16、count()用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

语法:str.count(sub, start= 0,end=len(string))

参数:

  • sub -- 搜索的子字符串
  • start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
  • end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

返回值:该方法返回子字符串在字符串中出现的次数。

1 s = 'abcd1b2a34_'
2 print(s.count('a')) #返回结果2
3 print(s.count('34')) #返回结果1
4 print(s.count('A'))#返回结果0

17、islower检测字符串是否由小写字母组成。

语法:str.islower()

参数:无

返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

1 s = 'abcd1b2a34..............!!!!!' #返回True
2 s1 = 'Asdf'                             #返回False
3 print(s.islower())
4 print(s1.islower())

18、isupper检测字符串中所有的字母是否都为大写。

语法:str.isupper()

参数:无

返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

s = 'ABC_ 123.....??' #返回True
s1 = 'ABCDFDF a'       #返回False
print(s.isupper())
print(s1.isupper())

19、isalnum检测字符串是否由字母和数字组成。

语法:str.isalnum()

参数:无

返回值:如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

a = 'aaaAfd' #字符串都是字母,返回True
b = '23445'  #字符串都是数字,返回True
c = '234dsfsDG' #字符串都是字母和数字,返回True
d = '12abc_'  #字符串里有非字母数字,返回False
e = '$%234ds' #字符串里有特殊字符,返回False
f = '123  dkdja'#字符串里有空格,返回False
g = '1.235'  #小数判断不出来,有.  那么返回False
print(a.isalnum())
print(b.isalnum())
print(c.isalnum())
print(d.isalnum())
print(e.isalnum())
print(f.isalnum())
print(g.isalnum())

20、isalpha检测字符串是否只由字母组成。

语法:str.isalpha()

参数:无

返回值:如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

检测字符串是否只由字母组成。

a = 'aaaAfd' #字符串都是字母,返回True
b = '23445'  #字符串都是数字,返回False
c = '234dsfsDG' #字符串都是字母和数字,返回False
d = '12abc_'  #字符串里有非字母数字,返回False
e = '$%234ds' #字符串里有特殊字符,返回False
f = '123  dkdja'#字符串里有空格,返回False
print(a.isalpha())
print(b.isalpha())
print(c.isalpha())
print(d.isalpha())
print(e.isalpha())
print(f.isalpha())

21、isidentifier() 判断是不是合法的变量名

合法返回True  不合法返回False 

a = 'test' #变量名合法,返回True
b = 'a_'  #变量名合法,返回True
c = '$%' #变量名不合法,返回False
d = '12' #变量名不合法,返回False
print(a.isidentifier())
print(b.isidentifier())
print(c.isidentifier())
print(d.isidentifier())

21、isspace()检测字符串是否只由空白字符(空格)组成。

语法str.isspace()

参数:无

返回值:如果字符串中只包含空格,则返回 True,否则返回 False.

a = '        '  #只有空格返回True
b = 'ajsdf       dfdf' #有其他字符返回False
print(a.isspace())
print(b.isspace())

22、splitlines()按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法:str.splitlines([keepends])

参数:keepends -- 在输出结果里是否去掉换行符(' ', ' ', '),默认为 False,不包含换行符,如果为 True,则保留换行符。

返回值;返回一个包含各行作为元素的列表。

a = 'a 
 sdf
 bb
'
print(a.splitlines())
print(a.splitlines(True)) #保留换行符

输出结果:

['a ', ' sdf', ' bb']
['a 
', ' sdf
', ' bb
']

23、zfill()返回指定长度的字符串,原字符串右对齐,前面填充0。

语法:str.zfill(width)

参数:width -- 指定字符串的长度。原字符串右对齐,前面填充0。

返回值:返回指定长度的字符串。

a = 'abc'
print(a.zfill(8))  #返回结果为00000abc  前面加个五个0

写个小练习:如果有1-119整数,一位数前面补两个0,两位数前面补一个0

#1-119的整数,写成模式001 010,以下是原始思路,现实不会这么写
l = list(range(1,110))
new_l = []
for i in l:
    si = str(i)
    if len(si) == 1:
        new_i = '00'+str(i)
    elif len(si) ==2:
        new_i = '0' + str(i)
    else:
        new_i = i
    new_l.append(new_i)
print(new_l)

zfill()方法

l = list(range(1,120))
new_l = []
for i in l:
    si = str(i)
    new_l.append(si.zfill(3))  #3位补0
print(new_l)

24、import string

import string  #直接定义变量
print(string.ascii_lowercase)  #所有的小写字母
print(string.ascii_uppercase)  #所有的大写字母
print(string.digits)  #0-9数字
print(string.punctuation)  #所有的特殊字符
print(string.ascii_letters) #所有的小写大写字母

结果:

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

25、Python find()方法

Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

语法

find()方法语法:

str.find(str, beg=0, end=len(string))

参数

  • str -- 指定检索的字符串
  • beg -- 开始索引,默认为0。
  • end -- 结束索引,默认为字符串的长度。

返回值

如果包含子字符串返回开始的索引值,否则返回-1。

实例

以下实例展示了find()方法的实例:

实例(Python 2.0+)

#!/usr/bin/python str1 = "this is string example....wow!!!"; str2 = "exam"; print str1.find(str2); print str1.find(str2, 10); print str1.find(str2, 40);

以上实例输出结果如下:

15
15
-1
原文地址:https://www.cnblogs.com/once-again/p/9562588.html