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

posted @ 2018-06-08 15:54  灿烂初秋  阅读(4904)  评论(0编辑  收藏  举报