Python 入门学习09 —— 字符串中的常用方法总结
一、字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ ’ 或 " " )来创建字符串。
- 实例(Python 3.0+)
#!-*- coding:utf-8 -*-
str_a = "Let's go !" # 单引号与双引号无区别,只是有时需要根据情况使用
print(str_a)
str_b = 'HelloWord!'
print(str_b * 2) # 重复打印
print(str_b[5:]) # 通过索引获取字符串中的字符
print('H' in str_b) # 判断关键字是否存在
print('h' in str_b) # 判断关键字是否存在
str_splic1 = 'abc'
str_splic2 = '123'
print(str_splic1 + str_splic2) # 效率低,每拼接一个字符串需开辟一块内存
str_result = ''.join([str_splic1, str_splic2]) # 利用 join() 拼接字符串
print(str_result)
str_result = '--'.join(['a', 'b', 'c']) # 打印出 join() 的效果
print(str_result)
二、字符串的其他内置方法
1、count( )
count( ) 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
count(self, sub, start, end)
2、capitalize( )
capitalize( )将字符串的第一个字母变成大写,其他字母变小写。
capitalize(self)
3、center( )
center( ) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
center(self, width, fillchar)
4、ljust( )
ljust( ) 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
ljust(self, width, fillchar)
5、rjust( )
rjust( ) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
rjust(self, width, fillchar)
6、endswith( )
endswith( ) 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。
endswith(self, suffix, start, end)
7、startswith( )
startswith( ) 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
startswith(self, prefix, start, end)
8、expandtabs( )
expandtabs( ) 方法把字符串中的 tab 符号 (’\t’) 转为空格,tab 符号 (’\t’) 默认的空格数是 8。
expandtabs(self, tabsize)
9、find( )
find( ) 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
find(self, sub, start, end)
10、index( )
index( ) 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 find()方法一样,只不过如果 str 不在 string 中会报一个异常。
index(self, sub, start, end)
11、format( )
Python2.6 开始,新增的一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
format(self, args, kwargs)
12、format_map( )
与 format( ) 功能一样,只是传入变量改为了字典。
format_map(self, mapping)
- 实例(Python 3.0+)
#!-*- coding:utf-8 -*-
str_format = 'hello WoRd'
str_format1 = 'hello\tWoRd'
str_format2 = 'hello WoRd {name} is {age}'
# 统计元素个数 : 2
print(str_format.count('l'))
# 字符串首字母大写,后续字母小写 : Hello word
print(str_format.capitalize())
# 共需 30 个字符,其余部分用 ' - ' 补充。
print(str_format.center(30,'-')) # ----------hello WoRd----------
print(str_format.ljust(30,'-')) # hello WoRd--------------------
print(str_format.rjust(30,'-')) # --------------------hello WoRd
# 检测以某个内容结尾 : True
print(str_format.endswith('Rd'))
# 检测以某个内容开头 : False
print(str_format.startswith('H'))
# 改变制表符占用的空格数 : helloWoRd
print(str_format1.expandtabs(0))
# 查找元素的位置,并将索引值返回,如果有相同元素,返回第一个元素位置 : 2
print(str_format.find('l')) # 若不存在返回 -1
print(str_format.index('l')) # 若不存在报错 : ValueError: substring not found
# 格式化输出 : hello WoRd Springer is 18
print(str_format2.format(name = 'Springer', age = 18))
print(str_format2.format_map({'name':'Springer', 'age':18}))
13、isalnum( )
isalnum( ) 方法检测字符串是否由字母和数字组成。
isalnum(self)
14、isdecimal( )
isdecimal( ) 方法检查字符串是否只包含十进制字符。这种方法只存在于 unicode 对象。
isdecimal(self)
15、isdigit( )
isdigit( ) 方法检测字符串是否只由数字组成。
isdigit(self)
16、isnumeric( )
isnumeric( ) 方法检测字符串是否只由数字组成。这种方法是只针对 unicode 对象。
isnumeric(self)
17、isidentifier( )
isidentifier( ) 方法检测字符串是否符合规范( Python 命名规范)。
isidentifier(self)
18、islower( )
islower( ) 方法检测字符串是否由小写字母组成。
islower(self)
19、isupper( )
isupper( ) 方法检测字符串中所有的字母是否都为大写。
isupper(self)
20、isspace( )
isspace( ) 方法检测字符串是否只由空格组成。
isspace(self)
21、istitle( )
istitle( ) 方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
istitle(self)
22、title( )
title( ) 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
title(self)
23、lower( )
lower( ) 方法转换字符串中所有大写字符为小写。
lower(self)
24、upper( )
upper( ) 方法将字符串中的小写字母转为大写字母。
upper(self)
25、swapcase( )
swapcase( ) 方法用于对字符串的大小写字母进行转换。
swapcase(self)
26、strip( )
strip( ) 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。strip(self, chars)
27、lstrip( )
lstrip( ) 方法用于截掉字符串左边的空格或指定字符。
lstrip(self, chars)
28、rstrip( )
rstrip( ) 方法用于截掉字符串右边的空格或指定字符。
rstrip(self, chars)
29、replace( )
replace( ) 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
replace(self, old, new, count)
30、split( )
split( ) 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
split(self, sep, maxsplit)
31、rsplit( )
rsplit( ) 通过指定分隔符对字符串从右开始进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。
rsplit(self, sep, maxsplit)
#!-*- coding:utf-8 -*-
# 检测字符串包含的种类 : 有特殊字符返回 False
print('abc123啊'.isalnum()) # True
print('abc$'.isalnum()) # False
# 检测是否只包含十进制字符,这种方法只存在于 unicode 对象。
print('2345'.isdecimal())
# 检测是否只由数字组成,但必须是整型
print('2345.123'.isdigit()) # False
print('123'.isdigit()) # True
# 检测是否只由数字组成,这种方法是只针对unicode对象。
print(u"456".isnumeric()) # True
# 检测是否为非法字符( python 命名规范)
print("456str".isidentifier()) # False
# 检测字符是否为全小写
print("456str".islower()) # True
# 检测字符是否为全大写
print("456STR".isupper()) # True
# 判断是否为一个空格
print(" ".isspace()) # True
# 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
print("Springer INNOVATION".istitle()) # False
# 将字符串改为 Title 规范的格式
print("Springer INNOVATION".title()) # Springer Innovation
# 将字符串中所有字母换为小写
print("Springer Innovation".lower()) # springer innovation
# 将字符串中所有字母换为大写
print("Springer Innovation".upper()) # SPRINGER INNOVATION
# 将字符串中大小写反转
print("Springer Innovation".swapcase()) # sPRINGER iNNOVATION
# 处理字符串中的空格、换行符以及制表符
print(" \nSpringer Innovation\t ".strip()) # Springer Innovation
print(" \nSpringer Innovation\t ".lstrip()) # Springer Innovation\t
print(" \nSpringer Innovation\t ".rstrip()) # \nSpringer Innovation
# 将字符串中部分内容替换
print("Springer Innovation".replace('Springer','Tonies')) # Tonies Innovation
print("Springer Innovation".replace('n','*')) # Spri*ger I**ovatio*
print("Springer Innovation".replace('n','*',1)) # Spri*ger Innovation
# 返回某内容最后一次出现的位置,若没有匹配项返回 -1。
print("Springer Innovation".rfind('n')) # 18
# 将字符串按指定方式分割为列表
print("a b c d e".split(' ')) # ['a', 'b', 'c', 'd', 'e']
print("asbbbsdbesvbd".split('b')) # ['as', '', '', 'sd', 'esv', 'd']
print("asbbbsdbesvbd".split('b', 1)) # ['as', 'bbsdbesvbd']
print("asbbbsdbesvbd".rsplit('b', 1)) # ['asbbbsdbesv', 'd']
# 将列表中的元素按指定方式拼接成一个字符串
print(' '.join(['a', 'b', 'c', 'd', 'e'])) # a b c d e
本文内容部分取自百度内容,如有雷同部分请见谅。