字符串本身有很多函数,本文介绍几个常用函数。
一、去除左右空白
空白:空格
" "
,空格\t
, 回车\n
1. 去除左边和右边空白 strip()
代码:
#去除首/尾空格 或换行 "abc"
print(" abc".strip())
print("\nabc\t".strip())
结果:
abc
abc
2. 去除左边空白 lstrip()
代码:
print(" abc ".lstrip())
print("\nabc".lstrip())
结果:
abc
abc
3. 去除右边空白rstrip()
代码:
print(" abc ".lstrip())
print("\tabc\t".rstrip())
结果:
abc
abc
二、大小写操作
1. 所有字符串小写lower()
代码:
# #将所有字符变为小写 python
print("pythoN".lower())
结果:
python
2 . 所有字符串大写.upper()
代码:
# #将所有字符变为大写 PYTHON
print("pythoN".upper())
结果:
PYTHON
3. 仅首字母大写.capitalize()
代码:
print('pYTHON'.capitalize())
结果:
Python
分析:
用
.capitalize()
函数,使仅首字母大写,其他字母均小写
4. 将"每个"单词的 首字符变成大写 .title()
代码:
print('i havE a dreaM'.title())
结果:
I Have A Dream
分析:
用
.title()
函数,使仅 每个单词首字母大写,每个单词对应非首字母均为小写。、
如单词’havE’中首字母’h’变为大写,非首字母’E’变为小写’e’
三、字符串判断
1. 是否全是大写字母.isupper()
代码:
#是否是全是大写字母
print('PYTHON123'.isupper()) #True
print('PythON'.isupper()) #False
结果:
True
False
2. 是否全是小写字母.islower()
代码:
#是否全是小写字母
print('python_123'.islower()) #True
print('pythON_123'.islower()) #True
结果:
True
False
3. 是否全是数字.isdigit()
代码:
print('123'.isdigit()) #True
print('python123'.isdigit()) #False 含字母
print('123 00'.isdigit()) #False 含空格
print('123_45'.isdigit()) #False 含有_
print('123.45'.isdigit()) #False 含有.
结果:
True
False
False
False
False
4. 是否以指定字符串 开头.startswith()
代码:
# 是否以指定的字符串开头
print('python123'.startswith('p')) #True 小写p
print('python123'.startswith('P')) #False大写P
print('python123'.startswith('')) # 空 True
print('python123'.startswith(' ')) # 空格 False
结果:
True
False
True
False
分析:
任何字符串默认均以空
""
开头
5. 是否以指定的字符串结尾endswith()
代码:
print('python123'.endswith('123')) #True
print('python123'.endswith('')) #True 空
print('python123'.endswith(' ')) #False 空格
print('python123'.endswith('\t')) #True 空格
结果:
True
True
False
False
分析:
任何字符串默认以空
""
结尾
四、查找与替换
1. 查找指定字符串位置索引或下标 find()
(方法一)
代码:
#查找位置 find()
print('_python'.find('_')) #索引0 第一个位置
print('_python'.find('88')) #未找到 返回-1
结果:
0
-1
分析:
若
find()
查找内容不存在,返回-1
且不报错ERROR
2. 查找指定字符串位置索引或下标 index()
(方法二)
代码:
#查找位置 index()
print('_python'.index('_')) #索引0 第一个位置
print('_python'.index('88')) #ValueError: substring not found
结果:
print('_python'.index('88')) #ValueError: substring not found
ValueError: substring not found
0
分析:
若
index()
查找内容不存在,返回报错
报错:ValueError: substring not found
翻译:取值错误:字符串未找到
3. 替换replace(,)
代码:
# 替换replace()
print('dog cat pig'.replace('cat','888')) #dog 888 pig
print('123.456'.replace('.456','++++')) #用"++++"替换"456"
print('我是老人'.replace('老人','新人')) #用"新人" 替换 "老人"
结果:
dog 888 pig
123++++
我是新人
分析:
replace
('被替换旧字符串,‘将替换新字符串’),用逗号,
后面 替换 前面 内容
五、重复出现总次数
1. 获取字符串重复出现总次数count()
代码:
#字符串重复出现次数
print("py9thon999".count("9")) #9 出现4次
print("p y t hon".count(" ")) # 空格" " 出现3次
#空 出现次数
print("".count("")) #空 出现 1次
print("1".count("")) #1 出现 2次
print("123456789".count("")) #n 出现 n+1次
结果:
4
3
1
2
10
分析:
count()
函数 获取字符串 内” 某字符串“ 出现的次数总合。
空字符
""
- 1个空字符串,含有1个空字符 (好像啥也没说,又好像啥都说了😅)
- 字符串中含有
n
个字符,空字符 总次数为n+1
六、字符串长度
1. 获取字符串总长度len(xx)
代码:
# #字符串长度
print(len('python')) #6
print(len('')) #空 0
print(len(' '),len('\t'),len('\n')) #空/空格/换行 1
结果:
6
0
1 1 1
分析:
字符长度:
- 空
" "
字符长度为0
- 空格
"/t"
、 空格" "
、 换行"/n"
字符长度均为1
七、 字符串操作函数汇总⭐
去除空白 | 说明 | 举例 | 结果 |
---|---|---|---|
strip() | 去除左边和右边空白 | print(“\nabc\t”.strip()) | “abc” |
lstrip() | 去除左边空白 | print(“\nabc”.lstrip()) | “abc” |
rstrip() | 去除右边空白 | print(“\tabc\t”.rstrip()) | " abc" |
大小写操作 | 说明 | 举例 | 结果 |
---|---|---|---|
lower() | 使所有字符串小写 | print(“pythoN”.lower()) | python |
upper() | 使所有字符串大写 | print(“pythoN”.upper()) | PYTHON |
capitalize() | 仅首字母大写 | print(‘pYTHON’.capitalize()) | Python |
title() | 将"每个"单词的 首字符变成大写 | print(‘i havE a dreaM’.title()) | I Have A Dream |
内容判断 | 说明 | 举例 | 结果 |
---|---|---|---|
issupper() | 是否全是大写字母? | print(‘PYTHON123’.isupper()) | True |
islower() | 是否全是小写字母? | print(‘python_123’.islower()) | True |
isdigit() | 是否全是数字? | print(‘123’.isdigit()) | True |
startwith() | 是否以指定字符串 开头? | print(‘python123’.startswith(‘p’)) | True |
endwith() | 是否以指定的字符串结尾? | print(‘python123’.endswith(‘123’)) | :True |
查找与替换 | 说明 | 举例 | 结果 |
---|---|---|---|
find() | 查找指定字符串位置索引或者下标。find()若查找的字符不存在 则返回-1 | print(‘python’.index('’)) | 0 (表示 索引0 第一个位置) |
index() | 查找指定字符串位置索引或下标。index()若查找的字符不存在 则返回错误Error | print(‘_python’.index(‘88’)) | “ValueError: substring not found” |
replace(,) | 用逗号", ",后面字符 替换 前面 字符 | print(‘我是老人’.replace(‘老人’,‘新人’)) | 我是新人 |
重复字符总数 | 说明 | 举例 | 结果 |
---|---|---|---|
count() | 获取字符串重复出现总次数;字符串中n个字符,出现空的次数为n+1 | print(“py9thon999”.count(“9”)); | 4 ( 表示9总共出现4次) |
字符串总长度 | 说明 | 举例 | 结果 |
---|---|---|---|
len(xx) | 获取字符串总长度 | print(len(‘python’)) | 6 |