Python 字符串内置方法大全,
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:xp
#blog_url: http://blog.csdn.net/wuxingpu5/article/details/71209731
#capitalize 首字母大写
name = 'wuxp'
v = name.capitalize()
print(v)
#casefold() lower() 大写转换小写 区别casefold支持其他语言的大写转小写
name = 'XP'
v = name.casefold()
print(v)
name = 'XP'
v = name.lower()
print(v)
#center 居中 参数1表示总长度 参数2空白处填充的字符 (长度为1),默认填充为空格
school = 'high school'
v = school.center(20,'#')
print(v)
#输出结果:
####high school#####
#count 查找字符串出现的次数 参数1 查找的值 参数2 起始位置 参数3 结束位置
name = 'Today is Friday.'
v = name.count('d')
print(v)
v = name.count('d', 6, -1)
print(v)
v = name.count('a', 6)
print(v)
#是否以参数为结尾 是否以参数开头
name = 'I\'m From china '
v1 = name.endswith(' ')
print(v1)
v1 = name.startswith('I')
print(v1)
#结果为True
#找到制表符\t并进行替换
name = 'user\twu\nidnu\t32'
print(name)
#表结构为
# user wu
# idnu 32
v = name.expandtabs(11)
print(v)
#对比刚才输出结果 变成了空格11个
# user wu
# idnu 32
# user wu
# idnu 32
#查找指定字符串的位置 如果没有会返回-1
name = 'wuxp'
v = name.find('o')
print(v)
v = name.find('x')
print(v)
#字符串格式化:类似上篇文章的占位符,回顾内容
tp2 = "我是:%s;年龄:%d" % ('大哥', 18)
print(tp2)
#也可以用字典
tp2 = "我是:%(name)s,年龄:%(age)d" % {"name":"xp", "age":18}
print(tp2)
tp2 = "I am %.2f" % 95.9999
print(tp2)
tp3 = "I am %(pp).2f" % {'pp': 33.556}
print(tp3)
#用%%表示输出单个%号
tpl = "i am %.2f %%" % 123.4
print(tpl)
#新字符串格式化方法
tp = "我是:{};年龄:{};性别:{};"
v = tp.format('t', '12', 'F')
print(v)
tp = "我是:{name};年龄:{age};性别:{gender};"
v = tp.format(name='lee', age='11', gender='f')
print(v)
v = tp.format_map({'name': 'woo', "age": 18, "gender": 'f'})
print(v)
#isalnum 是否是数字和字母 返回True 包含标点汉子等返回FALSE
name = 'lee2'
v = name.isalnum()
print(v)
#isalpha 判断是否为字母
v = name.isalpha()
print(v)
#判断是否为数字 支持的字符类型示例
num = '②'
v1 = num.isdecimal() #123
print(v1)
v1 = num.isdigit() #123 ②
print(v1)
v1 = num.isnumeric() #123 ② 二
print(v1)
#是否是表示符 这里判断的是是否符合变量名的规范
# ‘_a’.isidentifier() -->True
# ‘3a’.isidentifier() -->False
# ‘中国’.isidentifier() -->True
n = 'name_2'
v = n.isidentifier()
print(v)
#判断是否为小写 或者是否为大写
name = 'aL'
v = name.islower()
print(v)
v = name.isupper()
print(v)
#全部变大写
v = name.upper()
print(v)
#同理变小写
v = name.lower()
#是否包含所有可打印字符
name = '石室诗士施氏,嗜食狮,\n誓食十狮'
print(name)
v = name.isprintable()
print(v)
#是否全部空格
name = ' '
v = name.isspace()
print(v)
#元素拼接
name = 'wuxp'
v = "_".join(name)
print(v)
name_list = ['小吴', '杜十娘', '赛金花', '小凤仙']
v = '不认识'.join(name_list)
print(v)
#填充 center ljust rjust 居中 居左 居右
name = 'hsingpu'
v = name.center(20,'#')
v2 = name.rjust(13, '*')
print(v)
print(v2)
#对应关系,翻译 建立对应关系,进行翻译替换
m = str.maketrans('aeiou','12345')
name = "Today is Friday"
v = name.translate(m)
print(v)
#分割 , 保留分割出来的元素,保留第一个 切割为列表, 处于最后多空元素
content = "Today is Friday"
v = content.partition('Friday')
print(content)
print(v)
#替换
content = "Today is Friday , Tomorrow is not Friday"
v = content.replace('Friday','Thursday')
print(v)
v = content.replace('Friday', 'Thursday',1) #只替换一个
print(v)
#strip 移除末尾的特殊字符 空格 \n \t \v 自定义
name = 'xp1\t'
v =name.strip()
print(name)
print(v)
#大小写转换
name = "Steven"
v = name.swapcase()
print(v)
#填充 左填充0 共十位
v = name.zfill(10)
print(v)
v1 = 'Steven'
v2 = 'Wu'
v3 = v1 + v2
print(v3)
##切片
#已在上篇文章介绍
#另外for循环字符串 得到每个字符
name = 'Steven'
v = name.strip()
print(v)
v = name.startswith('St')
print(v)
v = name.replace('n', '')
print(v)
v = name.split('e')
print(v)
#转换字节
name = '夏普'
v1 = name.encode(encoding='utf-8')
print(v1)
v2 = name.encode(encoding='gbk')
print(v2)
#########################################################################################################
#补充二进制长度
age = 4
print(age.bit_length())
#补充 encode 字符转码
name = "颜辞"
v1 = name.encode('utf-8')
print(v1)
v2 = name.encode('gbk')
print(v2)
##############################################################################################################
参考结果:
Wuxp
xp
xp
####high school#####
2
1
1
True
True
user wu
idnu 32
user wu
idnu 32
-1
2
我是:大哥;年龄:18
我是:xp,年龄:18
I am 96.00
I am 33.56
i am 123.40 %
我是:t;年龄:12;性别:F;
我是:lee;年龄:11;性别:f;
我是:woo;年龄:18;性别:f;
True
False
False
True
True
True
False
False
AL
石室诗士施氏,嗜食狮,
誓食十狮
False
True
w_u_x_p
小吴不认识杜十娘不认识赛金花不认识小凤仙
######hsingpu#######
******hsingpu
T4d1y 3s Fr3d1y
Today is Friday
('Today is ', 'Friday', '')
Today is Thursday , Tomorrow is not Thursday
Today is Thursday , Tomorrow is not Friday
xp1
xp1
sTEVEN
0000Steven
StevenWu
Steven
True
Steve
['St', 'v', 'n']
b'\xe5\xa4\x8f\xe6\x99\xae'
b'\xcf\xc4\xc6\xd5'
评论暂时关闭