Python学习笔记-字符串相关
字符串有 下标(索引)
,从0开始,到n-1结束
len()
获取字符串长度s = 'Hello' len(s)
利用索引获取字符串中某一位
正数索引
从0开始,从左向右数负数索引
从-1开始,从右向左数s = 'Hello' print(s[0]) print(s[-1]) ====================== H o
切片
字符串[起始位置:[结束位置:[步长]]]
默认从左向右截取步长为正,从左向右截取
步长为负,从右向左截取
s = 'helloWorld' print(s[0:5]) # 截取从第0位到第5位 print(s[5:]) # 截取从第5位到最后 print(s[:5]) # 截取从开头到第5位 print(s[::2]) # 从开头到结尾,隔一位截取一位 print(s[::-2]) # 从结尾到开头,隔一位截取一位 ======================== hello World hello hlool drWle
运算符
+
两字符串连接print('123'+'456') ======================== 123456
*
重复一个字符串print('88*'*4) ======================= 88*88*88*88*
in
判断元素是否在字符串中,返回布尔型s = '123456' print('23' in s) print('13' in s) ======================= True False
is
比较两个字符串地址是否相等 内存地址相同,内容一定相同==
比较两个字符串内容是否相等 内容相同,内存地址不一定相同s1 = '123456' s2 = '123456' print(id(s1)) # 查看s1内存地址 print(id(s2)) # 查看s2内存地址 print(s1 is s2) print(s1 == s2) ========================= 1711120212296 1711120212296 True True
[ ]
下标或切片 参阅上方:切片相关内容%
格式化 参阅下方:利用占位符格式化相关内容
内置字符串方法
find()
从指定位置在串中对元素进行查找,找到返回索引
,没找到返回-1
字符串.find( 目标 , 起始 , 终止 )
s = 'helloWorld' print(s.find('W')) # 从0位开始,从左向右找最近的一个W print(s.find('X')) # 从0位开始,从左向右找最近的一个X print(s.find('o')) # 从0位开始,从左向右找最近的一个o print(s.find('o',5)) # 从5位开始,从左向右找最近的一个o ============================== 5 -1 4 6
index()
从指定位置在串中对元素进行查找,找到返回索引
,没找到则报错
字符串.index( 目标 , 起始 , 终止 )
s = 'helloWorld' print(s.index('W')) print(s.index('X')) ============================== 5 ValueError: substring not found
rfind
从右向左在指定位置在串中对元素进行查找,找到返回索引
,没找到返回-1
字符串.rfind( 目标 , 起始 , 终止 )
s = 'ohHelloWorld' print(s.rfind('o')) # 从末位开始,从左向右找最近的一个o print(s.rfind('o',0,7)) # 在0-7位中,从左向右找最近的一个o ============================== 8 6
rindex
从右向左在指定位置在串中对元素进行查找,找到返回索引
,没找到则报错
字符串.rindex( 目标 , 起始 , 终止 )
s = 'ohHelloWorld' print(s.rindex('o')) # 从末位开始,从左向右找最近的一个oprint(s.rindex('o',1,6)) # 在0-7位中,从左向右找最近的一个o==============================8ValueError: substring not found
replace
替换字符串中目标文本,默认全部替换字符串.replace( 目标文本 , 替换文本 , 替换计数)
s = '敏感词敏感词敏感词敏感词' print(s.replace('敏感词','***')) print(s.replace('敏感词','***',2)) ========================================== ************ ******敏感词敏感词
split
将字符串按指定分隔符进行切割,并返回一个列表字符串.split( 分隔符 ,最大拆分数 )
s = 'A*B*C*D*E*F' sp1 = s.split('*') sp2 = s.split('*',3) print(sp1) print(sp2) ========================================== ['A', 'B', 'C', 'D', 'E', 'F'] ['A', 'B', 'C', 'D*E*F']
大小写转换
upper()
转大写s = 'hello python World A' print(s.upper()) ================================ HELLO PYTHON WORLD A
lower()
转小写s = 'hello python World A' print(s.lower()) ================================ hello python world a
title()
每个单词首字母大写s = 'hello python World A' print(s.title()) ================================ Hello Python World A
capitalize()
仅字符串第一个单词的首字母大写,其余均变小写s = 'hello python World A' print(s.capitalize()) ================================ Hello python world a
字符串判断
isupper()
是否是大写s1 = 'abc' s2 = 'ABC' print(s1.isupper()) print(s2.isupper()) ================================ False True
islower()
是否是小写s1 = 'abc' s2 = 'ABC' print(s1.islower()) print(s2.islower()) ================================ True False
isalpha()
是否是纯字母s1 = 'abc8' s2 = 'ABC' print(s1.isalpha()) print(s2.isalpha()) ================================ False True
isdigit()
是否是纯数字s1 = '8888888' s2 = 'A888888' print(s1.isdigit()) print(s2.isdigit()) ================================ True False
statrtwith()
是否以指定内容开头s1 = 'A87888888' s2 = 'A88800888' print(s1.startswith('A88')) print(s2.startswith('A88')) ================================ False True
endswith()
是否以指定内容结尾s1 = '888888XX' s2 = '800888XA' print(s1.endswith('8XX')) print(s2.endswith('8XX')) ================================ True False
对齐相关
center()
居中对齐,需给出宽度rjust()
右对齐,需给出宽度ljust()
左对齐,需给出宽度s = '测试样例' print(s.center(15)) print(s.rjust(15)) print(s.ljust(15)) ========================测试样例 测试样例 测试样例
利用占位符格式化
%s
字符串占位符,需要匹配一个字符串,也可以是整形或浮点型%d
数字占位符,需要匹配一个整形或浮点型,浮点型仅保留整数位,不四舍五入%f
浮点数占位符,需要匹配一个浮点数,保留位数可调,四舍五入{ }
任意占位符,可以匹配任意内容,需要与.format
配合使用可以通过指名或编号来修改顺序
可以通过格式化方式来保留小数位数 Eg. {:.2f} 小数点后保留两位
s = '****' i = 1 f = 3.536666666666 print('测试:%s' %s) print('测试:%s' %i) print('测试:%s' %f) print('测试:%i' %i) print('测试:%i' %f) print('测试:%f' %f) print('测试:%.3f' %f) print('测试:%.15f' %f) print('测试:{},{},{}'.format(s,i,f)) print('测试:{intx},{flox:.2f},{strx}'.format(strx=s,intx=i,flox=f)) ============================================= 测试:**** 测试:1 测试:3.536666666666 测试:1 测试:3 测试:3.536667 测试:3.537 测试:3.536666666666000 测试:****,1,3.536666666666 测试:1,3.54,****
去除空格
strip()
去除字符串两端的空格rstrip()
去除字符串右端的空格lstrip()
去除字符串左端的空格s = ' 123456 ' print('|'+s.strip()+'|') print('|'+s.rstrip()+'|') print('|'+s.lstrip()+'|') =================================== |123456| | 123456| |123456 |
Python学习笔记-字符串相关相关推荐
- Python学习笔记-- 字符串和数字的连接
Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...
- Python学习笔记——字符串、列表、元组、字典
字符串介绍 想一想: 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密 ...
- python学习笔记——字符串操作
字符串相关操作 #!/usr/bin/env python3 # encoding: utf-8 # author: huangwj # mail: huangwjwork@gmail.com # b ...
- Python学习笔记-字符串
目录 一.字符串类型 二.字符串的常用操作 1.字符串拼接 2.计算字符串的长度 3.截取字符串 4.分割.合并字符串 4.1 分格字符串 4.2 多字符分割字符串 4.3 合并字符串 5.检索字符串 ...
- Python 学习笔记 字符串的功能与方法
一.字符串基础功能: 1.什么是字符串: 简单讲用引号包裹的就是字符串,可以是单引号或双引号. 2.字符串的基础操作: 创建字符串: # 创建空字符串 s = '' # 创建非空字符串 s = 'he ...
- python学习笔记---字符串
字符串 常用的操作方法 .count() .find() .join() .encode() .decode() .endswith() .startswitch('A') .isdigit() .s ...
- Python学习笔记字符串Str
python中的str到底是什么类型? https://docs.python.org/3/library/stdtypes.html#textseq 方法都有哪些? http://www.cnpyt ...
- python学习 day7_字符串、列表的相关操作
python学习day7_字符串的相关函数 字符串的相关操作 (1)字符串的拼接 + (2)字符串的重复 * (3)字符串跨行拼接 \ (4)字符串的索引(复习) (5)字符串的切片:(截取) 对字符 ...
- Python学习笔记D4(字符串和序列)
Python学习笔记D4(字符串和序列) 序列 list()作为一个方法存在两个形态,一个有参数一个没参数 list():不带参数,返回一个空的列表 list([iterable]):返回一个迭代器 ...
最新文章
- PyTorch中文版官方教程来啦(附下载)
- 《算法竞赛入门经典》习题——Chapter 3
- 5.2 测试计划和估算
- SharePoint PowerShell 修改计时器任务
- 请指点一下,讨论也可以,顶也有分
- 使用 XML 实现 REST 式的 SOA
- 回复群邮件导致邮件服务器,电子邮件逐个发-邮件群发软件-使用手册
- python面试题(6)--- read、readline和readlines的区别
- 怎么把arraylist集合的值放在实体类的属性了_原创 | 使用JPA实现DDD持久化-O/R映射元数据:类级映射-实体和值对象...
- linux安全技术课程报告,综合实例一+linux平台WEB安全技术研究报告.doc
- VS Code的相对路径问题 (No such file or directory: './lenna.png')
- c#winform panel空间拖动窗体 最小化 关闭 按钮 右下角弹窗
- m基于BP神经网络的障碍物避障和路线规划matlab仿真
- Luat 功能开发教程(十六) LittleVGL
- 科普:蓝绿部署、金丝雀发布(灰度发布)、A/B测试
- CRIE: An automated analyzer for Chinese texts翻译
- 简述相关与回归分析的关系_相关分析与回归分析的联系与区别
- 计算机省二打字,巧用音频转文字,省去打字烦恼
- YTU 2451: 股市风云
- radosgw bucket index sharding