Python 常用字符串方法
1. len()
可获取字符串、列表、元组、字典和集合的长度,即字符串包含的字符个数、字典的键值对的个数。
print(len('csdn')) print(len(['123', 456, 'cdw'])) print(len(('123', 456, 'cdw'))) print(len({'name': 'Xiaoming', 'age': 18})) print(len({'name', 'age'}))
运行结果如下:
4 3 3 2 2
2. in 和 not in
in
和not in
操作符可以用于字符串、列表、元组、字典和集合中。
用in
或not in
连接两个字符串得到的表达式,将求值为布尔值True 或False。
3.join() 、split()
join()
方法的参数是一个字符串列表。返回一个字符串。返回的字符串由传入的列表中字符串连接而成。
<连接字符串>.join(<字符串列表>)
注意对象是字符串,不支持其他数据类型
ls = ['6', '9', '15']
print('-'.join(ls))
运行结果如下:
6-9-15
split()
方法刚好相反:参数是一个字符串,返回一个字符串列表。
str = '6-9-15'
print(str.split('-'))
运行结果如下:
['6', '9', '15']
4. replace()
返回新字符串,替换字符串中的某些子串
<字符串>.replace(before, after)
str = 'Python is hard to learn'
print(str.replace('Python', 'Py'))
print(str)
运行结果如下:
Py is hard to learn
Python is hard to learn
5. upper()、lower() 、title()
upper()
lower
返回新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。
title()
将字符串内每个连续字母的首字母大写
str = 'acjiY98qP'
print(str.title())
#运行结果
'Acjiy98Qp'
6. isX()
常用的isX 字符串方法:
isupper()
如果字符串含有字母,并且所有字母都是大写,返回True;islower()
如果字符串含有字母,并且所有字母都是小写,返回True;isalpha()
如果字符串只包含字母,并且非空,返回True;isalnum()
如果字符串只包含字母和数字,并且非空,返回True;isdecimal()
如果字符串只包含数字字符,并且非空,返回True;isspace()
如果字符串只包含空格、制表符和换行,并且非空,返回True;istitle()
如果字符串仅包含以大写字母开头、后面都是小写字母的单词,返回True。
7.strip()、rstrip()、lstrip()
分别用来删除字符串两边、右边或左边的空白字符(空格、制表符和换行符)
print('-' + ' Hello World '.strip() + '-')
print('-' + ' Hello World '.lstrip() + '-')
print('-' + ' Hello World '.rstrip() + '-')
print('-' + ' Hello World ' + '-')
-Hello World-
-Hello World -
- Hello World-
- Hello World -
如果strip()括号中是字符串的话,则删除括号内指定字符串中的每个字符
str = 'abbacabb'
print(str.strip('ba'))
print(str.rstrip('ba'))
print(str.lstrip('ba'))
#运行结果
'c'
'abbac'
'cabb'
8.rjust()、ljust()、center()
center()
方法将文本居中rjust()
右对齐ljust()
左对齐
format()
方法也可通过填充字符得到左对齐或右对齐
返回调用它们的字符串的填充版本,通过插入字符来对齐文本。
第一个参数是一个整数长度,用于对齐字符串;
第二个可选参数将指定一个填充字符,默认空格字符;
'Hello'.rjust(20)
'Hello'.ljust(20, '-')
'Hello'.center(20, '=')
' Hello'
'Hello---------------'
'=======Hello========'
9.startswith()、endswith()
如果调用的字符串以传入的字符串开始或结束,返回True
常被用于判断网址链接或是文件类型后缀print('https://www.csdn.net'.startswith('http://')) print('xxxxxx@163.com'.endswith('.com')) <br> False True
10.find()、rfind()
find(str, beg, end)
,检测 str (目标字符串)是否包含在字符串中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内
如果在字符串中,返回第一次出现的第一个字符的索引值,否则返回-1
rfind(str, beg, end)
,返回字符串最后一次出现的第一个字符的索引值,如果没有匹配项则返回 -1
str.find('目标字符串')
#beg end 默认为整个字符串