Python
关于字符串的操作
字符串
截取
- 索引
- []
- len
- 返回可迭代对象的长度
代码示例:
foo = 'ABCDEFG'
# A:0,B:1,C:2,D:3,E:4,F:5,G:6
# A:-7,B:-6,C:-5,D:-4,E:-3,F:-2,G:-1
print(foo[0]) # A
print(foo[-1]) # G
foo = 'ABCDEFG'
print(len(foo))
切片
代码示例:
foo = 'ABCDEFG'
# A:0,B:1,C:2,D:3,E:4,F:5,G:6
# A:-7,B:-6,C:-5,D:-4,E:-3,F:-2,G:-1
print(foo[1:3])
print(foo[-1:-3:-1])
print(foo[1:])
print(foo[-3:])
print(foo[:3])
print(foo[:-1])
print(foo[1:-1])
print(foo[:])
# 变种(不管间隔为多少,输出的方向的第一个值间隔为1,从第二个值开始,开始套用设定的间隔):
print(foo[::2]) # 步长2(从左到右)
print(foo[::-2]) # 步长-2(从右到左)
常见操作
方法 | 注释 |
---|---|
find | 返回指定的元素下标(方向从左到右,只要遇到一个符合要求的,就返回符合要求的元素的下标,如果没有找到任何一个符合要求的就返回-1) |
rfind | 返回指定元素下标(方向从右到左,只要遇到一个符合要求的,就返回符合要求的元素的下标,如果没有找到任何一个符合要求的就返回-1) |
count | 统计元素出现的次数 |
index | 返回指定的元素下标(只要遇到一个符合要求的,就返回符合要求的元素的下标,如果没有找到任何一个符合要求的就报错) |
代码示例:
foo = 'ABCDEFGACG'
print(foo.find('C'))
print(foo.rfind('E'))
print(foo.count('A'))
print(foo.index('K'))
判断
方法 | 注释 |
---|---|
startswith | 是否以指定的值开头的 |
endswith | 是否以指定的值结尾的 |
isalpha | 是否是纯字母组成的 |
isdigit | 是否是纯数字组成的 |
isalnum | 是否是数字与字母组成的(不包含特殊符号) |
isspace | 是否是纯空格组成的(空字符串不算) |
isupper | 是否是纯大写字母组成的 |
islower | 是否是纯小写字母组成的 |
代码示例:
foo = 'ABCDEFG'
print(foo.startswith())
print(foo.endswith())
print(foo.isalpha())
print(foo.isdigit())
print(foo.isalnum())
print(foo.isspace())
print(foo.isupper())
print(foo.islower())
替换、分割、字母转换
方法 | 注释 |
---|---|
replace | 替换指定字符串(默认全部替换) |
split | 左切割 |
rsplit | 右切割 |
splitlines | 按行切割 |
partition | 只左切割一次 |
rpartition | 只右切割一次 |
capitalize | 单个首字母大写 |
title | 多个首字母大写 |
upper | 全部大写 |
lower | 全部小写 |
代码示例:
foo = 'ABCDEFGACG'
print(foo.replace('C','A')) # 将C全部替换为A
print(foo.replace('C','A',1)) # 将C替换为A(只替换一次)
foo = 'ABCDEFGACG'
bar = """ABCD
EFG
"""
print(foo.split('C')) # 左全切
print(foo.split('C',1)) # 左只切一次
print(foo.rsplit('C')) # 右全切
print(foo.rsplit('C',1)) # 右只切一次
print(bar.splitlines()) # False(不包含换行符)
print(bar.splitlines(True)) # True(保留换行符)
print(foo.partition('C')) # 左只切一次
print(foo.rpartition('C')) # 左只切一次
# 变种:
a,b,c = 'a','b','c' # 多变量赋值
a,b,c = input('请输入:').split(' ') # 多变量输入赋值,以空格作为分隔符切割
# 交换变量的值
a,b,c = c,a,b # a = c,b = a,c = b
foo = 'A B C'
bar = 'a b c'
print(bar.capitalize())
print(bar.title())
print(bar.upper())
print(foo.lower())
空格处理、对齐、拼接
方法 | 注释 |
---|---|
strip | 去掉左右边空格(不去掉中间) |
lstrip | 去掉左边空格 |
rstrip | 去掉右边空格 |
center | 居中对齐 |
ljust | 左对齐 |
rjust | 右对齐 |
join | 字符串拼接 |
代码示例:
foo = ' foo '
bar = 'bar'
n = ['a','b','c']
print(foo.strip())
print(foo.lstrip())
print(foo.rstrip())
print(bar.center(30)) # 在30个字符长度居中对齐
print(bar.ljust(30)) # 在30个字符长度左对齐
print(bar.rjust(30)) # 在30个字符长度右对齐
print(n.join()) # abc
print('#'.join(['a','b','c'])) # a#b#c