当前位置:首页 >> 脚本专栏

python字符串常用方法及文件简单读写的操作方法

字符串(sting)是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符。

   特性:

""")可以指定一个多行字符串。
"this is a line with \n" 则\n会显示,并不是换行。
"this " "is " "string"会被自动转换为this is string。
"htmlcode">

result=s.strip() #默认去掉字符串两边的空格和换行符
print(result)

s1=s.strip('c') #如果传了值,默认两边把传的字符去掉
print(s1)

print(s.lstrip()) #去除左边空格
print(s.rstrip()) #去除右边空格

2、统计关键词的个数

print(s.count('c'))  #统计关键词的个数

3、找下标

print(s.index('c')) #找下标。当不存在会报错;当存在相同的字符,会返回第一次的位置
print(s.find('c')) #找下标。当不存在时返回-1

4、字母大写

print(s.capitalize()) #首字母大写
print(s.upper()) #全部变成大写。比如验证码的校验,不区分大小写
print(s.lower()) #全部变成小写

5、字符替换

print(s.replace('4','e')) #将字符c替换成e,当替换的字符不存在不会报错也不会替换
print(s.replace(' ','')) #将所有的空格都去掉,用一个空的字符替换空格
print(s.replace('c','fe',1)) #第三个参数说明需要替换几处字符,如果不写则全部替换

6、判断以关键字开头或结尾

print(s.endswith('.jpg')) #判断是否以xxx结尾。比如上传图片是需要判断是否以.jpg结尾
print('abc.jpg'.endswith('.jpg'))

print(s.startswith('y')) #判断是否以xxx开头。
print('efg'.startswith('e'))
#True:真;False:假  布尔值,用来做判断用的

7、指定总长度,字符串放中间

print('欢迎登陆'.center(50,'*')) #指定总长度50,将字符放中间,如果长度不够的话,用*补全

8、字符串补0

print('1'.zfill(5)) #字符串长度不够时自动补0

9、format、format_map

print(s.format()) #占位
print(s.format_map()) #传一个字典

# %s顺序需要一一对应;format无需关注顺序
username='abc'
today='2019-03-30'
s2='欢迎{}登陆,今天的日期是{}.'
print(s2.format(username,today))

s3='insert into user value({username},{password},{phone})'
#format
new_s3=s3.format(password='123',username='abc',phone='110')

#format_map
new_s3=s3.format_map({'password':123,
           'username':'ccc',
           'phone':110
           })
print(new_s3)

10、判断是否为整数

print('123.1'.isdigit()) #判断是否为整数,是则返回true,否则返回false

11、判断是否有空格

#判断是否有一个或多个空格,如果是空格则返回True,否则返回False
print('abc'.isspace()) 
print(' '.isspace())

12、判断字符

print('123'.isalnum()) #判断只要没有特殊字符就返回True,比如数字或字母;如果有特殊字符就返回False

print('abc'.isalpha()) #不是数字、不是特殊符号就返回True

13、字符串分割split

users='abc,xiaozi,xiaobai,xiaohei,xiaoming,xiaolan'
users2='abc xiaozi xiaobai xiaohei  xiaoming xiaolan'
#需求:账号和密码要变成---'szz-abc',123456,如果是字符串的话没有办法进行处理,需要使用数组
#以上字符串是使用逗号进行分隔的,可以通过逗号将每个字符进行分割后取值

result=users.split(',')
#1、按照某个字符串分割;
#2、把分割后的元素放到一个list里面。返回结果:['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan']

result=users.split('.')
#3、如果指定的字符串不存在,那么就把整个字符串放到list里面,返回结果:['abc,xiaozi,xiaobai,xiaohei,xiaoming,xiaolan']

result=users2.split()
#如果split没有指定参数,默认按照空格进行分割,无论中间有多少空格,返回结果:['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan']
print(result)

14、把list中的内容转成字符串

#把list转成字符串
names=['abc', 'xiaozi', 'xiaobai', 'xiaohei', 'xiaoming', 'xiaolan']
print(','.join(names))
#1、把list变成字符串
#2、用指定的字符串把list里面的每个元素连接起来

15、把字符串写入文件,接14

#把字符串写入文件
f=open('names.txt','w',encoding='utf-8')
f.write(','.join(names))
f.close()

16、读取文件内容

#读文件;如果文件名不存在会报错
f=open('names.txt','r',encoding='utf-8')
res=f.read()
print('从文件里面读出来的数据:',res)
f.close()

总结