初学Python——字符串相关操作
字符串前加u,b,r,f的含义
1.加u
字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
u"我是含有中文字符组成的字符串。"
2.加r
屏蔽转义。如去掉反斜杠的转移机制。
r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不是换行
3.加b
将字符串变成btyes类型
b'这里看上去是字符串,实际上已经变成字节了'
4.加f
模板字符串,类似于ES6模板字符串。(3.6版本加入)
country = "中国"
language = "Python" str = "这里是%s,语言是%s\n"%(country,language)
str1 = "这里是{0},语言是{1}\n".format(country,language)
str2 = "这里是{a},语言是{b}\n".format(a=country,b=language)
str3 = f"这里是{country},语言是{language}\n" print(str,str1,str2,str3)
基本字符串操作
Pyhton中字符串的格式化输出在前面已经总结了,接下来介绍一些常用的字符串操作
先定义一个字符变量,以下的操作都以此为例:
name=" my name is china " #(首尾有空格)
1.首字母大写(整个字符串的首字母)
print(name.capitalize()) # my name is china
并没有变化!是因为第一个字符是空格!如果把第一个空格去掉,结果为:My name is china
2.将所有字母变大写或变小写
name.lower() # my name is china
name.upper() # MY NAME IS CHINA
3.首字母大写(每个单词)
name.title() # My Name Is China
4.大小写互换
name.swapcase() # MY NAME IS CHINA
此方法是:大写变小写,小写变大写
5.统计相同字符的数目
name.count("i") # 统计字符串中 "i" 的个数。
6.Center()方法
name.center(50,"-")
print:
---------------- my name is china ----------------
一共50个字符,字符串以外用指定的“-”来填充,并将字符串变量内容居中
7.判断字符串是否以这个字符结尾
name.endswith("ng") # False
判断字符串是否以“ng”结尾
8.在字符串中寻找某个子字符串的位置
例如:寻找字符串中“name”的位置
name.find("name") # 4
9.去掉字符串两端的空格
有时候为了避免不必要的麻烦,会将用户输入的字符串去掉两端的空格
name.strip()
10.去掉字符串左边或右边的空格
name.lstrip() #去掉左边的空格
name.rstrip() #去掉右边的空格
11.字符串的加密
maketrans()方法 和 translate()方法
p=str.maketrans("abcedfghij","") #编写密码规则
print(name.translate(p)) #按照上述密码转换规则将明文翻译成密文
先上运行结果:
my n9m6 1s 721n9
看懂了吗?就是用“9”来替代“a”,“8”来替代“b”,“7”来替代“c”,……,依次类推
12.将字符串中特定字符替换
将字符串中某些旧字符替换成新字符,并返回新的字符串
name.replace()方法
print(name.replace("m","M",2))
将字符串中前2个“m”替换成“M”
结果为: My naMe is china
第一个值是被替换字符,第二个值是替换字符,第三个值是被替换的个数(可以省略)
13.字符串切片(截取)
不光列表,字符串也可以切片,而且和列表的操作一样
新定义一个字符串
运行结果:
14.获取字符串的长度
len(a)
获取的是字符串的长度(字符数、字节数)。此方法不是字符串的专属,列表、字典等其他数据类型都可以用。列表获取的是元素的个数,字典获取的是key的数量。
15.split()分割函数
split() 通过指定分隔符对字符串进行分割,并返回分割后的字符串列表。如果参数 num 有指定值,则仅分隔 num 个子字符串
split(str,num)
参数:
str:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num: 分割次数(可以省略)
str = "Line1-abcdef \nLine2-abc \nLine4-abcd"
print str.split( )
print str.split(' ', 1 ) #运行结果:
['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
16.index()
print(str.index("L")),输出第一个L的下标
string模块
string模块提供了几个实用的字符串方法。
- string.ascii_letters 输出所有小写和大写字母
- string.ascii_lowercase 输出所有小写字母
- string.ascii_uppercase 输出所有大写字母
- string.digits 输出所有十进制数字(0~9)
- string.hexdigits 输出所有十六进制数字(0~F)
- string.octdigits 输出所有八进制数字(0~7)
输出:
有什么应用呢?举个例子:每次运行随机生成一个4位的验证码,由数字和字母组成
import random
import string checkcode=""
for i in range(4):
a=random.randint(0,1)
if a==0:
tmp = str(random.randint(1, 9)) #获取[1,9]之间的随机整数
else:
tmp = random.choice(string.ascii_letters.\
replace("O","").replace("l","")) #获取所有英文字母(str)并随机选择1个
# 去除字符中容易混淆的大写字母O # 去除字母中容易混淆的小写字母l
checkcode = checkcode + tmp
print("验证码:",checkcode)
checkcode
初学Python——字符串相关操作的更多相关文章
- python字符串相关操作
字符串搜索相关搜索指定字符串,没有返回-1:str.find('t')指定起始位置搜索:str.find('t',start)指定起始及结束位置搜索:str.find('t',start,end)从右 ...
- Python 字符串相关操作
# 1 * 重复输出字符串 print('hello'*2) # 2 [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表 print('helloworld'[2: ...
- python字符串、字符串处理函数及字符串相关操作
python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...
- Python字符串切片操作知识详解
Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- day7 python字符串的操作及方法
1.字符串 1.1 字符串的操作 # 1.字符串的拼接 strvar = "我爱" + "中国" # 2.字符串的重复 strvar = "今天下午2 ...
- Python容器相关操作
(集合与字典除外)的容器相关操作 (1)容器的拼接 >>> 'abc' + 'def' 'abcdef' (2)容器的重复 >>> (1, 2) * 3 (1, 2 ...
- python subprocess相关操作
python subprocess常用操作 1.subprocess模块的常用函数 函数 描述 subprocess.run() Python 3.5中新增的函数.执行指定的命令,等待命令执行完成后返 ...
- python 集合相关操作
集合相关操作 集合是一个无序的,不重复的数据组合,它有着两个主要作用:去重以及关系测试. 去重指的是当把一个列表变成了集合,其中重复的内容就自动的被去掉了 关系测试指的是,测试两组数据之间的交集.差集 ...
随机推荐
- codevs3002 石子归并 3
题目描述 Description 有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1].问安排怎样的合并顺序,能够使 ...
- 中国最强AI超级服务器问世,每秒提供AI计算2000万亿次
https://mp.weixin.qq.com/s/1EVczHp11OJ4GEjeE3z5cA 业内唯一以“AI计算”为核心的人工智能大会昨天发布了一份重要报告. 9月12日,<中国AI计算 ...
- python地理处理包——Shapely介绍及用户手册
本文主要是基于shapely官方文档翻译而成 shapely主要是在笛卡尔平面对几何对象进行操作和分析. 性能 Shapely中所有的操作都是使用GEOS库.GEOS是用C++写的,也被用在许多应用程 ...
- Space Time Varying Color Palette
PDF Space Time Varying Color Palettes from Bo Zhou
- <自动化测试方案_1>第一章、为什么要做自动化测试?(Why)
第一章.为什么要做自动化测试?(Why) 测试的产品分为:桌面程序(C/S).web应用(B/S) 我们的产品是B/S (一)迭代中省去人力测试非新增功能: 在项目中由于测试时间的限制,测试中只能实现 ...
- (后台)SQL Server 代理(已禁用代理 XP) 怎么解决(转)
百度知道搜索的答案: 在SQL Server Management Studio中连接到SQL Server实例后,会显示“SQL Server 代理”节点.如果当前该实例的Agent服务没有启动,“ ...
- 2014年5月16至24日,杨学明老师为深圳创维RGB事业部提供两天的《软件测试管理》内训服务!
2014年5月16日和24日,<在软件开发流程中构筑软件质量—软件测试管理>内训课程在深圳创维集团成功举办!来自创维研发.测试.生产等部门的管理人员和核心骨干等参加了此次培训,此次培训由研 ...
- Jmeter-测试计划,线程组,取样器,逻辑控制器,断言和监听器
一 测试计划: 是使用jmeter测试的起点,是其他测试元件的容器,一个完整的测试计划包括多个线程组,逻辑控制器,取样器,监听器,配置元件 用户定义的变量: 测试计划上可以添加用户定义的变量.一般添加 ...
- Python 魔法方法简介
1.什么是魔法方法? 魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一 ...
- Unity3D 4.x编辑器操作技巧
unity wiki(en chs) unity官网 unity manual(chs 官方最新) 各个版本unity编辑器下载地址: https://unity3d.com/cn/get-un ...