【Python笔记】字符串常见操作
Python字符串常见操作
- 字符串的拼接
- 计算字符串的长度
- 截取字符串
- 分隔字符串
- 字符串的替换
- 字符串的检索
- 字符串大小写转换
- 去掉字符串中的空格和特殊字符
- 格式化字符串
字符串的拼接
字符串不允许直接与其他类型的数据拼接,拼接前需利用 str() 函数将其他类型的数据转为字符串。
str1 = '今天我一共走了'
num = 12089
str2 = '步'
print(str1 + str(num) + str2) # 不使用 str() 函数程序会报错
运行结果:今天我一共走了12089步
计算字符串的长度
在 Python 中,数字、英文、小数点、下划线和空格占一个字节;
一个汉字占2~4个字节,汉字占几个字节取决于采用的编码
默认情况下,通过 len() 函数计算字符串的长度时,不区分英文、数字和汉字,所有字符都认为是一个
str1 = '人生苦短,我用Python!'
length = len(str1)
print(length)
运行结果:14
在实际开发时,有时需要获取字符串实际所占的字节数,即如果采用 UTF-8 编码,汉字占3个字节,采用 GBK 或者 GB2312 时,汉字占2个字节。此时,可以通过使用 encode() 方法进行编码后进行获取。
计算 UTF-8 编码的字符串长度:
str1 = '人生苦短,我用Python!'
length = len(str1.encode()) # 计算UTF-8编码的字符串长度
print(length)
运行结果:28
计算 gbk 编码的字符串长度:
str1 = '人生苦短,我用Python!'
length = len(str1.encode("gbk")) # 计算gbk编码的字符串长度
print(length)
运行结果:21
截取字符串
字符串也属于序列,所以截取字符串,可以采用切片方法实现。
str1 = '人生苦短,我用Python!'
substr1 = str1[1] # 截取第2个字符
substr2 = str1[5:] # 从第6个字符截取
substr3 = str1[:5] # 从左边开始截取5个字符
substr4 = str1[2:5] # 截取第3个到第5个字符(3个字符)
print('原字符串:', str1)
print(substr1 + '\n' + substr2 + "\n" + substr3 + '\n' + substr4)
运行结果:
原字符串: 人生苦短,我用Python!
生
我用Python!
人生苦短,
苦短,
可以利用切片逆置字符串:
str1 = '人生苦短,我用Python!'
print(str1[::-1])
运行结果:
!nohtyP用我,短苦生人
注:截取字符串时,如果指定的索引不存在,会抛出异常
分隔字符串
str1 = '我 想 知 道 你 的 名 字! >>> I want to know your name!'
print("原字符串:", str1)
list1 = str1.split() # 默认采用空白符进行分割
list2 = str1.split('>>>') # 采用多个字符">>>"进行分割
list3 = str1.split('!') # 采用单个字符"!"进行分割
list4 = str1.split(' ', 4) # 采用空格进行分割,并且只分割前4个
list5 = str1.split('>') # 采用">"进行分割
print(str(list1) +'\n'+ str(list2) +'\n'+ str(list3) +'\n'+ str(list4) +'\n'+ str(list5))
运行结果:
原字符串: 我 想 知 道 你 的 名 字! >>> I want to know your name!
['我', '想', '知', '道', '你', '的', '名', '字!', '>>>', 'I', 'want', 'to', 'know', 'your', 'name!']
['我 想 知 道 你 的 名 字! ', ' I want to know your name!']
['我 想 知 道 你 的 名 字', ' >>> I want to know your name', '']
['我', '想', '知', '道', '你 的 名 字! >>> I want to know your name!']
['我 想 知 道 你 的 名 字! ', '', '', ' I want to know your name!']
字符串的替换
replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
str.replace(old, new, max)
该方法返回替换后的新字符串,使用方法如下:
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
运行结果:
thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string
字符串的检索
count(str): 检索字符串str出现次数
find(str): 返回第一个包含字符串str的索引,不包含则返回-1
index(str) :与 find(str) 类似,区别是不包含则抛出异常
startwith(str): 判断是否以字符串str开头
endwith(str) :判断是否以字符串str结尾
str1 = "go out or go home!"
print(str1.count("go")) # count(str) 检索字符串str出现次数
print(str1.find("go")) # find(str) 返回第一个包含字符串str的索引,不包含则返回-1
print(str1.index("go")) # index(str) 与 find(str) 类似,区别是不包含则抛出异常
print(str1.startswith("go")) # startwith(str) 判断是否以字符串str开头
print(str1.endswith("home!")) # endwith(str) 判断是否以字符串str结尾
运行结果:
2
0
0
True
True
字符串大小写转换
str.lower():将字符串中的大写字母转为小写
str.upper():将字符串中的小写字母转为大写
str1 = "Hello World"
print(str1.lower())
print(str1.upper()
运行结果:
hello world
HELLO WORLD
去掉字符串中的空格和特殊字符
str.strip([chars]):去掉字符串左、右两侧的空格和特殊字符
str.lstrip([chars]):去掉字符串左侧的空格和特殊字符
str.rstrip([chars]):去掉字符串右侧的空格和特殊字符
str1 = " ~~~i am the king~~~"
print(str1.strip()) # 去掉两边的空格
print(str1.rstrip("~")) # 去掉右边的"~"
print(str1.lstrip()) # 去掉左边的空格
运行结果:
~~~i am the king~~~~~~i am the king
~~~i am the king~~~
格式化字符串
使用%是python早期提供的方法,自从 Python2.6 版本开始,字符串对象提供了 format() 方法,建议重点学习 format() 方法。
print("{0}:计算机{1}的CPU占用率为{2}%".format("2019-8-15", "C", 10)) # {}内下标可指定也可省略
print("{0:=^20}".format("PYTHON")) # "PYTHON" 居中对齐,且用"="填满20字符
print("{0:*>20}".format("BIT")) # "BIT" 右对齐,且用"*"填满20字符
print("{0:*<10}".format("BIT")) # "BIT" 左对齐,且用"*"填满10字符
print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
print("{0:e},{0:E},{0:f},{0:%}".format(3.14)) # e表示用科学计数法,%表示用百分号形式
运行结果:
2019-8-15:计算机C的CPU占用率为10%
=======PYTHON=======
*****************BIT
BIT*******
110101001,Ʃ,425,651,1a9,1A9
3.140000e+00,3.140000E+00,3.140000,314.000000%
【Python笔记】字符串常见操作相关推荐
- Python中字符串常见操作总结
Python中字符串常见操作总结: Num01–>find 检测 str 是否包含在 mystr中,如果是,返回开始的索引值:否则返回-1.也可以指定在一定的范围内.mystr.find(str ...
- python基础实例-Python基础之字符串常见操作经典实例详解
本文实例讲述了Python基础之字符串常见操作.分享给大家供大家参考,具体如下: 字符串基本操作 切片 # str[beg:end] # (下标从 0 开始)从下标为beg开始算起,切取到下标为 en ...
- python字符串常见操作
字符串常见操作 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作 <1>find 检测 str 是否包含在 mystr中,如 ...
- 2021-05-05 数组、 元组、字典、字符串常见操作
1 数组的应用 1.1元素的互换 a = input("请输入a:") b = input("请输入b:")print("a = %s;b = %s& ...
- C#字符串常见操作总结详解
C#字符串常见操作总结详解 本篇文章是对C#中字符串的常见操作进行了详细的总结介绍,需要的朋友参考下 (1)取字符串长度 <string>.Length; (2)字符串转为比特 ...
- python之字符串及操作相关知识
python之字符串相关知识 python之字符串相关知识 1.字符串 1.1 字符串的格式 1.2 字符串的输出 1.3 字符串的输入 2.下标和切片 2.1 字符串中下标的使用 2.2 切片 3. ...
- 【python】字符串的操作与方法、元组的定义与操作
1. 字符串的操作与方法 1.1 字符串取值 根据索引取值(下标)语法格式:字符串名[索引值]使用场景:取单个字符时使用 # 案例:分别获取字符串runoob的第一个字符和最后一个字符 # 正序最大的 ...
- python的字符串切片操作
回文是一种无论从左还是从右读都一样的字符序列.比如 "madam".在这个例子中,我们检查用户输入的字符串是否是回文,并输出结果. 一:取字符串中第几个字符 print " ...
- Python中字符串的操作(图文详情)
以下操作均在pycharm pycharm官方下载地址: https://www.jetbrains.com/pycharm/download/#section=windows 目录 python中字 ...
最新文章
- 2020年10月GitHub上最热门的开源项目
- Python 从入门到精通:一个月就够了!
- c转义字符以及常见问题和解决方法||c中的注释
- 【iOS XMPP】使用XMPPFramewok(五):好友列表
- php伪协议实现命令执行的七种姿势
- Android之应用程序如何调用支付宝接口
- php 读取三级分类,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?汗血宝马...
- Linux下部署Hadoop伪分布模式
- share——Alpha版(内部测试版)发布
- Mybatis DAO接口为什么不需要实现类
- Pig 变飞机?AI 为什么这么蠢!
- 实战Vue:基于Vue的移动端购物车单界面实现
- 用户要进行远程登录 必须在自己的计算机上,大学计算机基础上机考试题库3
- IE浏览器版本测试方法
- 北京住房公积金转杭州相关信息的整理,个人整理
- CAN详解--CAN与com口介绍
- 去除 csv 文件中的重复行
- Y7000 2018版(I7-8650H 1050T)黑苹果安装攻略附带工具安装包
- 153分钟学会Rpdf 百度云盘
- 与化学相关的计算机应用情况,计算机化学的发展、应用与展望
热门文章
- git上传代码和下拉
- [leetcode]328. Odd Even Linked List
- SQL Server 2016完整数据库备份的演练
- sql limit 子句_SQL Server TOP子句概述和示例
- 路飞学成-Python爬虫实战密训-第3章
- USBKiller (U盘病毒专杀工具)绿色特别版V2.3 b0825
- structs中国际化小结
- 高阶台式计算机零组件,2010年电脑旺季!零组件缺DDR3封测紧
- 自拍会不会被大数据_不会搭建大数据平台,我被老板优化了...
- 服创大赛第二次讨论_2019-01-19