Python基础 | 字符串操作

Posted dataxon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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基础 | 字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

Python的语言基础总结之循环与字符串操作

python基础之字符串操作

Python 必知的 20 个骚操作!

学习笔记:python3,代码片段(2017)

[Python]常用代码块

Python基础 | 字符串操作