str = 'hello world world'
str.find()
字符串查找
str = 'hello world hello'
print(str.find("world"))
>>> 6
find() 方法返回的子串的第一个字符在字符串中的位置
str = "hello world"
print(str.find('fty'))
>>> -1
当子串不在字符串中时返回-1
从右侧开始找子串
str = 'hello world world'
print(str.rfind('world'))
>>> 12
str.index()
index和find都是返回的子串在父串中的索引
和find方法不同的是,如果找不到该子串,find返回-1,而index会跑出来异常
str.count()
字符串统计
返回子串在父串中出现的次数
str = 'hello world world'
str.count('world')
>>> 2
str.replace()
字符串替换
返回的是一个新字符串
用第二个参数替换第一个参数
str = 'hello world '
str2 = str.replace('world', 'fty')
print(str2)
>>> hello fty
限制替换次数
第三个参数表示替换的次数,1表示只替换一次
str = 'hello world world'
str2 = str.replace('wrold', 'fty', 1)
print(str2)
>>> hello fty world
str.split(' ')
字符串切割
返回一个数组
str = 'hello world world'
arr = str.split(' ')
>>> ['hello', 'world', 'world']
str.title()
字符串的每个单词大写
返回一个新的字符串,不会更改原来的字符串
str = 'hello world'
str_new = str.title()
print(str_new)
>>> Hello World
str.capitalize()
字符串的第一个字符大写
返回一个新的字符串,不会更改原来的字符串
str = 'hello world'
str.capitalize()
>>> Hello world
str.startswith()
判断是否以指定字符串开头,返回布尔值
str = 'hello world'
str.startswith('hello')
>>> True
str.endswith()
判断是否以字符串结尾 ,返回布尔值
str = 'hello world'
str.endswith('hello')
>>> False
str.lower()
把字符串全部变为小写
返回一个新字符串,原字符串是不会变的
str = 'HELLO world'
str_new = str.lower()
print(str_new)
print(str)
>>> hello world
>>> HELLO world
str.upper()
把字符串变为大写
返回一个新字符串,原字符串是不会变的
str = 'hello world'
str_new = str.upper()
print(str_new)
print(str)
>>> HELLO WORLD
>>> hello world
str.rjust()
字符串右对齐,参数为字符串长度
通过空格填充字符串到指定长度,并将字符串右对齐
str = 'hello'
str_new = str.rjust(10)
print(str_new)
>>> ' hello'
str.center()
字符串居中,参数为字符串长度
通过空格填充字符串到指定长度,并将字符串居中
str = 'hello'
str_new = str.center(20)
print(str_new)
>>> ' hello '
str.ljust()
同上面两个方法,这个是左对齐
str.lstrip()
去掉字符串的左空格
返回一个新字符串,不更改原字符串
str = ' hello '
str_new = str.lstrip()
print(str_new)
>>> 'hello '
str.rstrip()
去掉字符串的右空格
str = ' hello '
str_new = str.rstrip()
print(str_new)
>>> ' hello'
str.strip()
去掉字符串两端的空格,并不会去掉字符串之间的空格
str = ' he ll o '
str_new = str.strip()
print(str_new)
>>> 'he ll o'
str.partition()
以参数为界限,将字符串分为三部分,该子串为一部分,子串前面的字符串为一部分,子串后面的字符串为一部分
返回的是一个元组
找到第一个子串就作为分隔位置
str = 'hello fty world and you'
result = str.partition('fty')
print(result)
>>> ('hello','fty','world and you')
和split的区别:
- split返回的是列表;partition返回的是元组
- split不会将分割的子串返回,partition会将作为分割的子串也返回
str.rpartition()
和上一个方法作用相同,不过是从右边开始查找,找到第一个子串后就作为分割位置
str = 'hello my name is fty and ftyxxx and i like'
result = str.rpartition('fty')
print(result)
>>> ('hello my name is fty and ', 'fty', 'xxx and i like')
str.splitlines()
以换行符来分割字符串,将结果放到一个列表中
str = 'hello\nworld\nfty\nxxx'
result = str.splitlines()
print(result)
>>> ['hello', 'world', 'fty', 'xxx']
str.isalpha()
判断字符串是不是字母
str = 'a'
str2 = 'hello'
result = str.isalpha()
result2 = str2.isalpha()
print(result)
print(result2)
>>> True
>>> False
str.isalnum()
判断字符串中只有字母或数字
str = 'abc123'
print(str.isalnum())
>>> True
str = '##12bb'
print(str.isalnum())
>>> False
str.isdigit()
判断字符串是不是纯数字
str = '1'
str2 = '123'
result1 = str.isdigit()
result2 = str2.isdigit()
print(result1)
print(result2)
>>> True
>>> True
str.isspace()
检测字符串是不是纯空格
str.join()
参数接受一个列表,以str作为连接符将列表中的元素拼接成一个字符串
a = ['aaa', 'bbb', 'ccc']
b = '='
result = b.join(a)
>>> aaa=bbb=ccc