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'

          
                  
  


相关内容

    暂无相关文章