python字符串常用方法、分割字符串等
一、字符串的常用方法
s = ' abcsdgsdssdgsgsgd你好\n' print(s) # print(s.count('a')) # print(s.index('a',0,10)) #index找不到元素会报错 0,10指定开始和结束的位置,在这个范围内找指定的元素 # print(s.find('sd',0,10)) #find找不到不会报错 # print(s.strip(','))# strip可以去掉指定的字符,如果不指定,则默认去掉空格、换行符 # print(s.rstrip()) # print(s.lstrip()) # s = '1234' # print(s.replace('s','S')) # 将s替换为S,默认替换所有的,如果再传个数字1,('s','S',1)则只替换1个 # print('{name},{value}'.format(name=1,value=2,)) # print(s.upper()) # print(s.lower()) s='123.py' # print(s.isdigit())#是否为纯数字 # print(s.endswith('.py')) # print(s.startswith('123')) 以上这些是比较常用的
中间这些了解一下 # print('{name},{value}'.format_map({"name":"fangdan","value":10000})) # print('欢迎登陆'.center(50,'*')) # print('登录结束'.center(50,'*')) # print('my car'.title()) #My Car # print(''.isspace()) #判断是否全都是空格 # print(s.isupper()) # print(s.islower()) # print('my car'.capitalize())
1、str.capitalize() 字符串首字母大写
2、str.center() 把字符串居中
3、str.isalnum() 判断字符串是否含有英文、数字,若有英文和数字,则返回true;若除中英文、数字外,有空格之类的符号,则会返回false
4、str.isalpha() 判断是否只为英文、或只为数字
name = 'a中国12' #定义一个字符串 print(name.capitalize())#把字符串首字母大写 # A中国12 print(name.center(50,'*'))#把字符串居中的 # **********************a中国12*********************** print(name.isalnum())# 只要有英文、数字就返回true # True print(name.isalpha())#判断是否只为英文的,或只为汉字也可以 # False
5、str.count() 查询指定元素出现的次数,需要记住
6、str.endswith('**') 判断字符串是否以**结尾
7、str.startswith('**') 判断字符串是否以**开头
8、str.isdigit() 判断是否为纯数字,字符串里的用法,如果是int类型的,没有这个方法
如s=1,则没有这个方法。
如果s='1',就可以用这个方法
name = '128a12abc.jpg' #定义一个字符串 print(name.count('a'))# 查询次数(有用的,需要记住) # 2 print(name.endswith('.jpg'))# 判断字符串是否以**结尾 # True print(name.startswith('138'))# 判断字符串是否以**开头 # False print(name.isdigit())#判断是否为纯数字 # False
9、str.upper() 字符串中的字母变成大写的
10、str.lower() 字符串中的字母变成小写的
11、str.find() 取得字符串中某个字符的下标,找不到元素时,不报错,返回-1
name = '128a12中文ABC.jpg' #定义一个字符串 print(name.upper())#字符串中的字母都变成大写的 # 128A12中文ABC.JPG print(name.lower())#字符串中的字母都变成小写的 # 128a12中文abc.jpg print(name.find('r'))#取得字符串中某个字符的下标,找不到元素时候,不会报错,会返回-1 # -1 print(name.index('a'))#(不用记,不如find好用)取得字符串中某个字符的下标,找不到元素会报错 # 3 print(name.isidentifier())#(无用,不用记)判断是否为合法的变量名 # False
12、str.isspace() 判断是否全都是空格
13、str.strip() 去掉字符串两边的东西,默认是去掉两边的空格和换行符的
14、str.lstrip() 去掉字符串左边的东西
15、str.rstrip() 去掉字符串右边的东西
16、str.replace(,) 替换字符串,把前面的替换成后面的
name = ' 128a12中文ABC.jpg ' #定义一个字符串 print(name.isspace())# 判断是否全都是空格 # False print(name.strip())#去掉字符串两边的东西,默认是去掉两边的空格和换行符的 # 128a12中文ABC.jpg print(name.lstrip())#去掉字符串左边的东西 # 128a12中文ABC.jpg print(name.rstrip())#去掉字符串右边的东西 # 128a12中文ABC.jpg print(name.replace('1','6'))#替换字符串,把前面的替换成后面的 # 628a62中文ABC.jpg
#示例:replace的使用 # words_list = ['傻逼','傻b','煞笔','煞比','sb'] # content = input('请输入:') # for word in words_list: # content = content.replace(word,'**') # print(content) #有一个文件,里面有一些敏感词汇,如下,如果输入这些词,就用**代替,然后输出, #例如输入今天没吃饭,碰到一个傻逼,原来那个sb是小明。输出今天没吃饭,碰到一个**,原来那个**是小明。
17、str.zfill() 在字符串前面补0
name = '5' print(name.zfill(5))# 在前面补0 # 00005
# if len(s)<3: # if len(s)==1: # s='00'+s # elif len(s)==2: # s='0'+s # else: # s = '0' # print(s.zfill(4))
18、str[] 字符串是可以根据下标来取值的
name = '123abc中文' print(name[1])# 字符串也是可以根据下标来取值的 # 2
19、str.format()
20、str.format_map()
name = '123abc中文' print(name.format()) # 123abc中文 # print(name.format_map()) 报错
# print('{name},{value}'.format_map({"name":"fangdan","value":10000}))
二、分割字符串
1、将字符串变为list
(1)分割字符串;
(2)把字符串变成一个list;
(3)默认是以空格和换行符分割的;
(4) 如果分割不了就不分割,输出一个list
names = '''a1,a2,a3,a4,a5''' list = names.split(',') print(list) # ['a1', 'a2', 'a3', 'a4', 'a5']
# s='''傻逼,傻b,煞笔,煞比,sb,傻B,shabi''' # # print(s.split(','))
2、将list变为字符串 print('、'.join(stus))
(1)把list变成字符串;
(2)以某个字符串连接;
stus = ['a1', 'a2', 'a3', 'a4', 'a5'] print('、'.join(stus)) # 将list转换成字符串,以“、”连接 # a1、a2、a3、a4、a5
l = ['傻逼', '傻b', '煞笔', '煞比', 'sb', '傻B', 'shabi'] # s.join() #连接list里面的每个元素的 l_str = '.'.join(l) print(l_str) print(type(l_str))
三、字母数字等的操作
导入string模块: import string
import string print(string.ascii_letters)# 所有的大写+小写字母 # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.ascii_lowercase)# 所有的小写字母 # abcdefghijklmnopqrstuvwxyz print(string.ascii_uppercase)# 所有的大写字母 # ABCDEFGHIJKLMNOPQRSTUVWXYZ print(string.digits)#所有的数字 # 0123456789 print(string.punctuation)#所有的特殊字符 # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
多行的字符串,用三个单引号
s='''test test test'''
附录:笔记
python
int string list float bool