Python基础 | 字符串操作
属性
代码 | 功能 | 备注 |
---|---|---|
len(s) |
字符串长度 | |
type(s).__name__ |
类型名称 | 如果是字符串会输出str |
s[0],s[1],s[-1] |
取字符串第1,2,以及最后一位字符 | |
s.find('x') |
判断制定字符在字符串中的位置 | |
s.count('x') |
指定的字符(串)在s中出现了几次 | |
s.index('1') |
指定字符(串)在s中首次出现的位置(默认) |
判断
代码 | 功能 | 备注 |
---|---|---|
s.isalpha() |
是否全是字母,并至少有一个字符 | |
s.isdigit() |
是否全是数字,并至少有一个字符 | |
s.isspace() |
是否全是空白字符,并至少有一个字符 | |
s.islower() |
字母是否全是小写 | |
s.isupper() |
字母是否便是大写 | |
s.istitle() |
是否是首字母大写的 | |
s.startswith('a') |
首字母验证 | |
s.endswith('a') |
尾字母验证 | |
'xyz' in s |
是否含有制定的字符(串) |
格式
操作 | 代码 | 备注 |
---|---|---|
所有字母大写 | s.upper() |
|
所有字母小写 | s.lower() |
|
首字母大写 | s.capitalize() |
|
大小写互换 | s.swapcase() |
原来大写的字母小写,反之 |
格式化输出
# 整数
s = 1
print('整数示例 %d'%s)
输出:
整数示例 1
# 小数
s = 1.2345
print('小数示例 %5.2f'%s) # 整数保留5位,小数保留2位
输出:
小数示例 1.23
# 百分比
s = 0.058
print('百分比示例 %5.2f%%'%(s*100))
输出:
百分比示例 5.80%
形变
翻转
s = '12345'
s[::-1]
输出:
'54321'
拼接
s1 = 'abc'
s2 = '123'
s1+s2
输出:
'abc123'
'.'.join(s1)
'.'.join([s1,s2])
s1.join(s2)
输出:
'a.b.c'
'abc.123'
'1abc2abc3'
拆分
s = 'I am Groot'
s.split(' ') #此处以空格作为分隔符
s.partition(' ')
输出:
['I', 'am', 'Groot']
('I', ' ', 'am Groot')
重复
s = 'abc'
s*3
输出:
'abcabcabc'
填充
s = '12'
s.zfill(5)
输出:
'00012'
s = 'begin'
s.center(30,'*')
输出:
'************begin*************'
清洗
去除空格
s.strip() # 去除两端的空格
s.rstrip() # 去除右侧的空格
s.lstrip() # 去除左侧的空格
字母替换
一对一替换
s = 'this is a test'
s.replace('t','T')
输出:
'This is a TesT'
多对一替换
# 多个字符串替换成单个字符串
import re
re.sub('t|T|s','H',s)
tab字符替换为8个空格:s.expandtabs
字符匹配
是否含有某一个字符(串)
'x' in s
'xyz' in s
是否含有几个字符(串)中的一个
items_list = re.findall('(字符串1|字符串2|字符串3)',s)
# 如果匹配到了,那么item_list长度>0
if len(items_list)>0:
print('匹配到相关字符')
按规则进行提取
参考正则表达式的用法
详情可参考最全的常用正则表达式大全
编码
参考此文章
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
转载请注明作者及出处