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('匹配到相关字符')

按规则进行提取
参考正则表达式的用法
详情可参考最全的常用正则表达式大全

编码

参考此文章

你可能感兴趣的:(Python基础 | 字符串操作)