Python字符串操作

2018年4月10日 0 条评论 212 次阅读 0 人点赞

任何编程语言,字符串相关操作都是很重要并且很基础的知识点。Python相比其他编程语言(C or Java)提供了更多对字符串操作的原生方法,这里介绍几个常用的方法。

str.capitalize() 该方法返回一个将str的首字母转为大写,其它字母转为小写的字符串,例:

str="abcDef";
print(str.capitalize());
#控制台输出:Abcdef

str.lower() 转换字符串中所有大写字符为小写,例:

str="GISGO";
print(str.capitalize());
#控制台输出:gisgo

str.upper() 将字符串中的小写字母转为大写字母。

str.center(width[, fillchar]) 该方法返回一个原字符串居中,并使用fillchar填充至长度 width 的新字符串,如果fillchar没有指定,则用空格填充,例:

str="爱";
print(str.center(20,"O"));
#控制台输出:OOOOOOOOO爱OOOOOOOOOO

str.count(sub[, start[, end]]) 方法用于统计字符串里某个字符出现的次数,如果没指定start和end,则默认为0和最后一个字符索引,例:

str="afasfasfasfafasfagfdgdhdhdhderh";
print(str.count("f",2,10));
#控制台输出:2

str.find(sub[, start[, end]]) 该方法检测字符串中是否包含子字符串 sub ,如果指定 start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含指定范围,则返回-1

str = "http://wwww.gisgo.top";
print(str.find("top",10,21));
#控制台输出:18

有时候你不需要知道索引值的起始位置,只想知道索引值是否包含在字符串,可以这样表达:

print('Py' in 'Python');
#控制台输出:True

str.index(sub[, start[, end]]) 功能和str.find()类似,但没找到sub,程序会报错。

str.format( ) 该方法用于格式化字符串,通过{}:来代替以前的 %。有以下几种形式:

# 不设置指定位置,按默认顺序
print("{} {}".format("hello", "world"));

# 设置指定位置
print("{1} {0} {1}".format("hello", "world"));

# 设置参数
print("网站名:{name}, 地址 {url}".format(name="GISGO", url="www.gisgo.top"));

#通过字典设置参数
site = {"name": "GISGO", "url": "www.gisgo.top"}
print("网站名:{name}, 地址 {url}".format(**site))

#通过列表索引设置参数
my_list = ['GISGO', 'www.gisgo.top']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

str.isalnum() 该方法用于检查字符串是否只由字母和数字组成,如果是返回True,否则返回False,例:

str = "www.gisgo.top";
print str.isalnum();
#控制台输出:False

相同的还有: - str.isalpha():是否只含字母; - str.isdecimal():是否只含十进制字符; - str.isdigit():是否只由数字组成; - str.isnumeric():检测字符串是否只由数字组成。这种方法是只针对unicode对象; - str.islower() :是否只由小写字母组成; - str.istitle():检测首字母是否为大写; - str.isspace():检测是否只由空格组成; - str.isupper():检测所有的字母是否都为大写;

str.join(sequence) 用于将序列中的元素以指定的字符连接生成一个新的字符串,例:

str = "-";
seq = ("a", "b", "c"); # 字符串序列
print(str.join( seq ));
#控制台输出:a-b-c

str.partition(str) 用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

str = "http://www.gisgo.top";
print(str.partition("://"));
#控制台输出:('http', '://', 'www.gisgo.top')

str.replace(old, new[, max]) 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次,例:

str = "no-no-no-no";
print(str.replace("no", "yes",2))
#控制台输出:yes-yes-no-no

str.split(str, num) 通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串的列表,例:

str = "no-no-no-no";
print(str.split("-", 2));
#控制台输出:['no', 'no', 'no-no']

肖大昕

这个人太懒什么东西都没留下

文章评论(0)