python-字符串操作分类小结
切片
str[start:end:step] # 包括头,不包括尾巴。step为步长,意思是每隔step-1个元素,取一个字符
[::-1] #反向取字符串,实现字符串的反转 "abcde"-->"edcba"。
方法
字符串的修饰
center: 让字符串在指定的长度居中,如果不能居中,左短右长
"while".center(10) # while
"while".center(10, 'a') # aawhileaaa 可以指定填充内容,默认以空格填充
len("while".center(10)) # 10
ljust:左对齐
"while".ljust(10,'*') # while*****
rjust:右对齐
"while".rjust(10,'*') # *****while
zfill:将字符串填充到指定的长度,不足的地方用0从左开始补充
"1".zfill(10) --》 0000000001'
format: 按照顺序将后面的参数传递给前面的大括号
"{} is {} years old".format("while", 18) --> while is 18 years old
strip:默认去除字符串两边的空格,去除内容可以指定
rstrip:默认去除字符串左边的空格,去除内容可以指定
lstrip:默认去除字符串右边的空格,去除内容可以指定
join
"a".join("123") # 1a2a3
len 方法返回指定序列的长度
字符串的查找
count:计数功能,返回指定字符在字符串中的个数
"hello".count('l') # 2
find:查找,返回从左往右第一个指定字符的索引,如果找不到则返回-1
"hello".find('l') # 2
strs1[index] = strs1[index - len(strs1)]
rfind: 查找,返回从右往左第一个指定字符的索引
index: 和find效果一样,区别在于,找不到则报错
rindex: 和rfind效果一样,区别在于,找不到则报错
字符串的替换
replace:从左到右替换指定的元素,可以指定替换的个数,默认全部替换
"helllo".replace("l", "L") 将所有的l替换为L
"helllo".replace("l", "L", 2) 将l替换为L,只替换2个
translate: 按照对应关系来替换内容
trans = str.maketrans("12345", "abcde")
"12123123".translate(trans) # ababcabc
字符串的变形
upper:将字符串当中所有的字符转化为大写
"While".upper() --》 WHILE
lower:将字符串当中所有的字符转化为小写
"While".upper() --》 while
swapcase: 将字符串当中所有的字符大小写进行反转
"While".swapcase() --》 wHILE
title: 将字符串当中的单词首字母大写,单词以空格划分
"While is ok ".title() --》 While Is Ok
capitalize: 只有字符串的首字符大写
"while IS ok ".capitalize() --》 While is ok
expandtabs: 修改\t的长度,很少用
"while is ok 1993 ab c de".expandtabs() 无效果
"while is \t ok 1993 ab c de".expandtabs(4) --> while is ok 1993 ab c de
字符串的判断
isalnum: 字符串是否只包含字母[a-zA-Z]和数字[0-9]
isalpha:字符串是否只包含字母[a-zA-Z]
isdigit: 字符串是否只包含数字[0-9]
isupper: 字符串是否只包含大写字母
islower: 字符串是否只包含小写字母
istitle: 字符串是否满足title格式
isspace: 字符串是否完全由空格(包括\t制表符)组成
startswith
"hello world".startswith("h") -->True
"hello world".startswith("h", 1, 3) -->False 从1号索引开始到3号索引的子串是否以h开头(截取判断)
endswith: 和startswith用法相同
字符串的切分
splitlines: 以行切分字符串, 可以指定是否保留行标志(0,1)
print(
"""
hello
nihao
""".splitlines(1)
)
# ['\n',' hello\n', ' nihao\n']
split: 默认以空格切分字符串,从左开始切,可以指定用来切割的字符和切分次数
rsplit: 从右切,用法同上,应用:将文件名和路径切分开
字符串的拼接
join: 将指定的字符串插入到后面的序列的每两个元素之间,进行拼接,形成新的字符串
"hell".join(['1','2','3']) --》1hell2hell3
"a".join("bcde") --> 'bacadae'
*: 将指定的字符串进行重复指定次数,读作重复
"a"*3 --》 aaa
+: 将两个字符串拼接起来,
字符串的编码
encode:字符到字节,可以指定编码方式,如gbk,utf-8
decode:字节到字符,可以指定解码方式,如gbk, utf-8
python-字符串操作分类小结的更多相关文章
- Python 字符串操作分类
应用举例: str="abc defghi jklm nopqrstuvwxyz" print(str.isspace()) 运行结果: False 1) 判断类型 方法 | 说明 ...
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- Python 字符串操作及string模块使用
python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...
- python字符串操作总结
python中有各种字符串操作,一开始python有个专门的string模块,要使用需先import string.后来从python2.0开始,string方法改用str.method()形式调用, ...
- 『无为则无心』Python序列 — 17、Python字符串操作常用API
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...
- python 字符串操作。。
#字符串操作 以0开始,有负下标的使用0第一个元素,-1最后一个元素,-len第一个元 素,len-1最后一个元素 name= "qwe , erw, qwe "print(nam ...
- Python 字符串操作,截取,长度
1.字符串操作: 字符串长度: s = "; slen = len(s); 字符串截取: print s[:-:-] #截取,逆序隔1个取一个字符 print s[:-:-] #截取,逆序隔 ...
- python字符串操作、文件操作,英文词频统计预处理
1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证号:生日.性别.出生地等 def function3(): print('请输入身份证号') ...
随机推荐
- Two pointer方法
I.何为Two pointer 用两个哨兵指向两个序列,通过利用序列本身的性质减少遍历次数,来更快得解决一些归并问题 基本问题 给定一个正整数递增序列和一个正整数M,求序列中两个不同位置的a,b使得a ...
- 涂鸦智能 dubbo-go 亿级流量的实践与探索
涂鸦智能 dubbo-go 亿级流量的实践与探索 dubbo 是一个基于 Java 开发的高性能的轻量级 RPC 框架,dubbo 提供了丰富的服务治理功能和优秀的扩展能力.而 dubbo-go 在 ...
- 4 - 基于ELK的ElasticSearch 7.8.x技术整理 - 高级篇( 续 ) - 更新完毕
0.前言 这里面一些理论和前面的知识点挂钩的,所以:建议看一下另外3篇知识内容 基础篇:https://www.cnblogs.com/xiegongzi/p/15684307.html java操作 ...
- CSS基础 margin塌陷问题以及解决 办法
场景:两个相互嵌套的块级元素,父子元素相互紧贴margin-top会合并作用在父元素的子元素结果:导致两个盒子同时移动 解决方法: 1.给父元素设置overflow:hidden 2.给父元素设置浮动 ...
- MySQL_事务(四大特性)
本文转载:https://www.cnblogs.com/kismetv/p/10331633.html 事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段.本文将首 ...
- 如何在 CentOS 上安装 dos2unix 和 unix2dos 命令
yum install -y dos2unix 注意:以上安装包既包含 dos2unix 命令,又包含 unix2dos 命令.
- Linux上天之路(七)之Vim编辑器
vim 是 "vimsual interface IMproved"的简称,它可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他 ...
- Hadoop的Shuffle阶段
原文: https://www.toutiao.com/i6764683672772674062/ 在进入Map之前,首先会将数据从HDFS中读取,进行处理,按照字节偏移量这种之前说的形式处理为K,V ...
- maven仓库策略
当构建Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包(h ...
- Redis 应用问题
Redis 应用问题 1.缓存穿透 1.1.问题概述 key 对应的数据在数据源中不存在,每次针对此 key 的请求从缓存获取不到,请求都会压到数据源(也就是不断的去查数据库,从而使得数据库系统崩溃) ...