Python之字符串操作
一、字符串特点
- 内容不可修改
password='' #内容不可修改
二、字符串常用方法
1、.strip()方法
- 去字符串两边的空格和换行符
print(password.strip()) #去掉字符串两边的空格和换行符
password='\n\n\n123456\n7890 '
print(password.strip())
#结果:
#
#
#中间的空格和换行符不去掉
- 不传内容,默认去掉空格和换行符,传入内容,就去掉内容
password='.jpg123456.jpg'
print(password.strip('.jpg'))
#结果:
#
2、.lstrip()方法
- 只去掉左边的空格和换行
3、.rstrip()方法
- 只去掉右边的空格和换行
4、.upper()方法
- 使字符串全部转成大写
password='.jpg123456.jpg'
print(password.upper())
#结果:
#.JPG123456.JPG
5、.lower()方法
- 使字符串全部转成小写
password='.JPG123456.jpg'
print(password.lower())
#结果:
#.jpg123456.jpg
6、.capitalize()方法
- 使字符串首字母转成大写
password='agcPG123456.jpg'
print(password.capitalize())
#结果:
#Agcpg123456.jpg
7、.count()方法
- 统计内容在字符串里出现的次数
password='agcPG123456.jpg'
print(password.count('g'))
#结果:
#
8、.replace()方法
- 将旧内容替换为新内容
password='agcPG123456.jpg'
print(password.replace('','上山打老虎'))
#结果:
#agcPG上山打老虎6.jpg
- 如果旧内容不存在,使用该方法也不报错,还是之前的字符串
password='agcPG123456.jpg'
print(password.replace('hhh','上山打老虎'))
#结果:
#agcPG123456.jpg
去掉字符串中间的空格,可以使用该方法
names='小红 小军 小黄 小兰'
print(names.replace(' ',''))
#结果:
#小红小军小黄小兰
9、.endswith()方法
- 判断是否以内容为结尾
- 当内容存在时,返回为True;不存在时,返回为False
password='agcPG123456.jpg'
print(password.endswith('jpg'))
#结果:
#True
print(password.endswith('mp3'))
#结果:
#False
例子:
filename='a.mp4'
if filename.endswith('.mp3'):
pass
else:
print('不以.mp3结尾')
#结果:
#不以.mp3结尾
10、.startswith()方法
- 判断是否以内容为开头
password='agcPG123456.jpg'
print(password.startswith('.'))
#结果:
#False
11、.format()方法
- 格式化输出,用{}包裹,可将内容输出
print('{name},{age}'.format(name='lrx',age=18))
#结果:
#lrx,18
12、.split()方法
- 以内容为分隔符进行分割,分割后是list里的每一个元素
- 将字符串变成list
names='小红,小军,小黄,小兰'
print(names.split(','))
#结果:
#['小红,小军,小黄,小兰']
- 如果分隔符不存在,仍然把字符串变成list,整个字符串是list里的一个元素
names='小红 小军 小黄 小兰'
print(names.split(','))
#结果:
#['小红 小军 小黄 小兰']
13、.join()方法
- 将list转成字符串
- 以规定的内容为分隔符进行连接
- 只要是循环的,都可以使用该方法,比如:字符串、列表、元组
user=['abc','','&*^']
res='.'.join(user)
print(res)
#结果:
#abc.123.&*^
14、.zfill()方法
- 自动补零:比如内容里写3,则个位数前补2个零,十位数前补1个零
a=1
b=80
a1=str(a).zfill(3)
b1=str(b).zfill(3)
print('a1='+a1+',b1='+b1)
#结果:
#a1=001,b1=080
15、.find()方法
- 找下标
- 如果无此内容时,使用该方法不会报错,会返回-1
16、.index()方法
- 找下标
- 如果无此内容时,使用该方法会报错
s='abcdef'
print(s.find('a'))
print(s.index('a'))
print(s.find('g'))
#结果:
#
#
#-1
print(s.index('g'))
#结果:
#ValueError: substring not found
17、.isdigit()方法
- 判断字符串是否是正整数,是正整数返回True,不是返回False
n='123.243'
n2='-123'
n3=''
print(n.isdigit())
print(n2.isdigit())
print(n3.isdigit())
#结果:
#False
#False
#True
18、.islower()方法
- 判断字符串是否都是小写字母
19、.isupper()方法
- 判断字符串是否都是大写字母
s='abCdef'
print(s.isupper())
print(s.islower())
s1='AGSDGS'
s2='sdsdg'
print(s1.isupper())
print(s2.islower())
print(s1.islower())
print(s2.isupper())
#结果:
# False
# False
# True
# True
# False
# False
20、.isalpha()方法
- 判断字符串中是否只有字母,如果只有字母,返回True,否则返回False
21、.isalnum()方法
- 判断字符串中是否有字母或者数字
print('abcd123'.isalpha()) #判断字符串里面是否只有英文
print('abc23454'.isalnum()) #判断字符串是否里面有英文或者由数字
print('abc'.isalnum())
print(''.isalpha())
# False
# True
# True
# True
22、.isspace()方法
- 判断字符串是否是空格,只包含空格
print('sdfs '.isspace())
print(' '.isspace())
#结果:
# False
# True
23、.splitlines()方法
- 以换行符分割字符串
s='abdc\nsdfsd'
print(s.splitlines()) #以换行符分割字符串
#结果:
#['abdc', 'sdfsd']
24、string模块
(1)string.ascii_letters:所有的大写、小写字母
(2)string.ascii_uppercase:所有的大写字母
(3)string.ascii_lowercase:所有的小写字母
(4)string.digits:所有的数字
(5)string.punctuation:所有的符号
import string
print(string.ascii_letters)
print(string.ascii_uppercase)
print(string.ascii_lowercase)
print(string.digits)
print(string.punctuation)
#结果:
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
# ABCDEFGHIJKLMNOPQRSTUVWXYZ
# abcdefghijklmnopqrstuvwxyz
#
# !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
三、字符串操作
1、字符串循环
利用元素下标进行循环
words='中秋节要上课' for w in words :
print('每次打印的',w)
Python中的循环内置了下标,因此只用一个变量p就可以,p就是每次取下标时对应的元素值。
使用enumerate()枚举函数
使用enumerate()函数,会自动将字符串的下标和元素都显示出来:
words='中秋节要上课'
for index,w in enumerate(words):
print('每次打印的',index,w)
2、切片
字符串也有下标,使用上跟在列表中一致:
words='中秋节要上课'
print(words[0])
print(words[::-1])
3、存址方式
1)现象:
a='tanailing'
b=a
a='niuniu'
print(b)#结果为tanailing
print(a)#结果为niuniu
2)原因:
- 字符串是直接开辟新的内存空间,不会共用一块内存空间,因此修改了a的内容后,b不会变。
四、面试题
#判断一个字符串是否是回文,即:字符串和它反转后的字符串是否相等,如果相等就是回文。
s='上海自来水来自海上'
# 1232321
# 1111
# 回文算法,反过来倒过去都一样 for i in range(10):
s = input('请输入一个字符串:')
if len(s)<2:
print('字符串长度必须大于2')
elif s==s[::-1]:
print('是回文')
else:
print('不是回文')
Python之字符串操作的更多相关文章
- python中字符串操作--截取,查找,替换
python中,对字符串的操作是最常见的,python对字符串操作有自己特殊的处理方式. 字符串的截取 python中对于字符串的索引是比较特别的,来感受一下: s = '123456789' #截取 ...
- Python中字符串操作
#Python字符串操作 '''1.复制字符串''' #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' pri ...
- python基础--字符串操作、列表、元组、文件操作
一.变量及条件判断 1.字符串.布尔类型.float.int类型,None都是不可变变量 2.字符串是不可变变量,不可变变量就是指定义之后不能修改它的值 3.count +=1和count=count ...
- Python中字符串操作函数string.split('str1')和string.join(ls)
Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...
- 「Python」字符串操作内置函数
目录: capitalize casefold center count encode decode endswith expandtabs find format format_map index ...
- Python:字符串操作总结
所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最小值最大值)对字符串同样适用,且字符串是不可变的. 一.字符串格式化 转换说明符 [注]: 这些项的顺序至关重要 (1)%字符:标记转换 ...
- 关于python的字符串操作
字符串的判断操作: str = "fahaf asdkfja\t \r \n fjdhal 3453" print(str.isspace()) # 如果str中只包含空格,则返回 ...
- python常用字符串操作
#!/usr/bin/env python name='cunzhang' print(name.capitalize())#首字母大写 print(name.count('n'))#统计字符有几个 ...
- Python的字符串操作和Unicode
字符串类型 str:Unicode字符串.采用''或者r''构造的字符串均为str,单引号可以用双引号或者三引号来代替.无论用哪种方式进行制定,在Python内部存储时没有区别. bytes:二进制字 ...
随机推荐
- Linux实时查询GPU使用命令
查看显存使用情况的命令: $ nvidia-smi 周期性地查看GPU使用情况则使用命令: $ watch -n nvidia-smi 其中数字10表示每十秒刷新一次GPU使用状态. 具体如下所示:重 ...
- 网站出现403 Forbidden
1, 你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了 2, 网站域名解析到了空间,但空间未绑定此域名 3, 你的网页脚本文件在当前目录下没有执行权限 4, 服务器繁忙,同一IP ...
- PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)
目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...
- nginx配置tomcat负载均衡,nginx.conf配置文件的配置
- ZooKeeper典型应用场景概览
ZooKeeper是一个高可用的分布式数据管理与系统协调框架.基于对Paxos算法的实现,使该框架保证了分布式环境中数据的强一致性,也正是基于这样的特性,使得ZooKeeper解决很多分布式问题.网上 ...
- Doc2vec实现原理
论文来源:https://www.eecs.yorku.ca/course_archive/2016-17/W/6412/reading/DistributedRepresentationsofSen ...
- [CQOI2014]和谐矩阵
嘟嘟嘟 遇到这种(看似)构造的题,我好像一般都做不出来-- 然而这题正解是高斯消元解异或方程组-- 首先我们容易列出式子a[i][j] ^ a[i - 1][j] ^ a[i + 1][j] ^ a[ ...
- 【转】iOS开发笔记--识别单击还是双击
在视图上同时识别单击手势和双击手势的问题在于,当检测到一个单击操作时,无法确定是确实是一个单击操作或者只是双击操作中的第一次点击.解决这个问题的方法就是:在检测到单击时,需要等一段时间等待第二次点击, ...
- 破解windows版idea
近期使用idea的时候提示已过试用期,需要购买,否则只能使用半小时 网上破解方法很全,记录一下 1.下载破解补丁 百度网盘:https://pan.baidu.com/s/15Wq9-c4SVwg_2 ...
- 20175310 《Java程序设计》第7周学习总结
20175310 <Java程序设计>第7周学习总结 本周博客: https://www.cnblogs.com/xicyannn/p/10705376.html 教材学习内容总结 这周学 ...