python基础之字符串常用操作总结
字符串的索引
s = 'ABCDLSESRF'
# 索引
这两个很简单没什么说的
s1 = s[0]
print(s1)  # A
s2 = s[2]
print(s2)  # C
切片
s = 'ABCDLSESRF'
来分析一波
切片:顾头不顾尾 s[首:尾:步长]
s3 = s[0:4]  # 顾头不顾尾 索引包含0 不包含4 L是第四个索引 所以输出 ABCD
print(s3)  # ABCD
s4 = s[-1] # 索引取-1
print(s4)  # F
s5 = s[-2] # 索引取-2
print(s5)  # R
s8 = s[0:] # s[首:] 首为0(可以不写) 指向全部
s6 = s[:]  # 取全部
print(s6, s8)  # ABCDLSESRF
s7 = s[0:0] # 首为0 尾为0 不包含0 故什么都取不出来
print(s7)  # ' '
s10 = s[0:5:2]  # ACL # 首为0 尾取到五但不包含第五位 --》ABCDLS 步长为2 --》 A C L
print(s10) A C L
s11 = s[3::-1] # 首为3 隔1倒着取
print(s11)  # DCBA
s12 = s[3::-2]  # 首为3 隔2倒着取 --》 DB
print(s12)
s13 = s[-1::-1]  # 首为-1 隔1倒着取
print(s13) # FRSESLDCBA
s14 = s[::-1]  # 首为0 隔1倒着取
print(s14) # FRSESLDCBA
字符串操作
s = 'noevil'
s1 = s.capitalize()  #首字母大写
print(s1)
s2 = s.upper()
print(s2)  # 全部大写
s3 = s2.lower()  # 全部小写
print(s3)
s_str = 'acEQ'
input = input('请输入验证码(不区分大小写): ')
if s_str.upper() == input.upper():
    print('输入成功')
else:
    print('请重新输入')
# 大小写反转
s = 'kk LL'
s3 = s.swapcase()
print(s3)  # KK ll
# 每个隔开(特殊字符或者数字)的单词首字母大写
text = 'lsss kk'
print(text.title())  # Lsss Kk
# 居中,空白填充
ss = 'Noevil'
s4 = ss.center(20, '*')  # *******Noevil******* #共20个,去除本身的,两边用*填充
print(s4)  # *******Noevil*******
sss = 'No\tevil'  # 不足8位补8位 将table转为空格
s5 = sss.expandtabs()  # 报表有可能用到
print(s5)  # No      evil
公共的方法
# len 统计字符串长度
test1 = 'dadjdkfjkfdj'
l = len(test1) # 12
# len 字典统计key
test2 = {'k': 1, 'l': 2, 'o': 3}
p2 = len(test2)  # 有几个键
print(l, p2) # 3
# startswith  以什么开头
test3 = 'Noevil'
p4 = test3.startswith('No')
print(p4) # True
p5 = test3.startswith('e', 2, 4)  # 顾头不顾尾 以2开头,结尾为v
print(p5) # True
# find 通过元素找索引找不到返回-1
p6 = test3.find('e')
print(p6)  # 2
# index 通过元素找索引找不到报错
p7 = test3.index('a')  # 报错
print(p7)
# strip   rstrip lstrip 重要的去除非法字符的函数
test4 = '   noevil   '
p8 = test4.strip()   # 默认去除两边的空格
print(p8) # noevil
test5 = '*no%evil%3*%    '
p9 = test5.strip(' %*')  # 机制为同时从前往后循环查找删除两边的包含指定对象,顺序无所谓
print(p9) #no%evil%3
# 统计出现的次数
test6 = ' sdaaanoevil '
p10 = test6.count('aa')
print(p10) # 1
# spilt 将字符串拆分 str ----> list
test7 = 'enoevil'
p11 = test7.split('e')
print(p11)  # ['', 'no', 'vil'] 一分为二,左边没有就为 ' '
# format 的三种玩法 格式化输出
test8 = '你好{},我是{}'.format('Novil', 'vil')
print(test8) # 你好Novil,我是vil
test9 = '你好{0},我是{1}'.format('nov', 'vil')
print(test9) # 你好nov,我是vil
test10 = '你好{name},我是{tname}'.format(name='llll', tname='666666')
print(test10) # 你好llll,我是666666
# replace 替换
test11 = '人要是行做一行行一行'
p10 = test11.replace('行', '不行', 2)  # 数字为替换几次
print(p10)  # 人要是不行做一不行行一行
# is系列
name = 'syw521'
print(name.isalnum())  # 字符串由字母或数字组成
print(name.isalpha())  # 字符串由字母组成
print(name.isdigit())  # 字符串只由数字组成
												
											python基础之字符串常用操作总结的更多相关文章
- Python 基礎 - 字符串常用操作
		
字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...
 - python基础(字符串常用、数字类型转换、基本运算符与流程控制)
		
一.字符串常用操作: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "Z'N'Y" # Date: 2 ...
 - python基础之列表常用操作及知识点小结
		
列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ...
 - python基础学习-字符串常见操作
		
字符串常见操作 索引 s = "abcdefg" # 字符串数据,切片后取出的数据都是字符串类型 # 从左至右取值:从0开始 # 从右向左取值:从-1开始 print(" ...
 - Python基础灬文件常用操作
		
文件常用操作 文件内建函数和方法 open() :打开文件 read():输入 readline():输入一行 seek():文件内移动 write():输出 close():关闭文件 写文件writ ...
 - Python文本和字符串常用操作
		
## 字符串分割 line = "This is my love!" fields = line.split(' ') print(fields) # ['This', 'is', ...
 - Python基础学习----字典常用操作
		
字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...
 - 初识python: 字符串常用操作
		
直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...
 - Python学习笔记五:字符串常用操作,字典,三级菜单实例
		
字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...
 
随机推荐
- SD-WAN供应商列表
			
SD-WAN的一个重要思想是,可以使用任何类型的多个物理WAN链路来承载流量,而无需网络工程师进行大量工程设计.相反,SD-WAN解决方案在物理基础设施之上运行覆盖(隧道),抽象出实际链接. SD-W ...
 - 详解一个ThreadLocal 的谜题
			
多线程如果不理解透彻, 那么 ThreadLocal 始终是有些会有所迷糊的. ThreadLocal 本身的命名有有问题, 这些美国精英整出来的技术,再加上一个奇怪的命名.对我们中国人来说,就是一场 ...
 - sparksql进阶
			
scala> val df=spark.read.json("/tmp/pdf1json")df: org.apache.spark.sql.DataFrame = [age ...
 - 1. 配置win7下odbc数据源找不到数据库驱动的问题
			
win7下ODBC数据源DB2的链接 直接在控制面板---管理工具----数据源(ODBC) 打开数据源配置,发现只有SQLServer的驱动,其他的都没有了. 解决方法是C:\Windows\Sys ...
 - 爬虫--Scrapy-基于RedisSpider实现的分布式爬虫
			
爬取网易新闻 需求:爬取的是基于文字的新闻数据(国内,国际,军事,航空) 先编写基于scrapycrawl 先创建工程 scrapy startproject 58Pro cd 58Pro 新建一个爬 ...
 - redis  学习笔记1(安装以及控制台命令)
			
为什么要学习这个? 分布式技术必会,得益于redis的设计理念,内存数据库,epoll(多路复用)模型,单线程模型除去了锁和上下文切换,提高了性能.单线程保证执行顺序(轮询),在分布式环境下对于数据的 ...
 - js数组方法解析
			
js 数组有很多方法,其中有的常用,有的不常用,归纳几个常用的方法,做个总结: 1. 转换方法: 1.1 valueOf():调用这个方法会返回数组本身 <script> var arr ...
 - Linux命令之top
			
Linux中的top命令显示系统上正在运行的进程.它是系统管理员最重要的工具之一.被广泛用于监视服务器的负载.在本篇中,我们会探索top命令的细节.top命令是一个交互命令.在运行top的时候还可以运 ...
 - C++复习:C++的类型转换
			
C++的类型转换 1 类型转换名称和语法 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来 ...
 - 如何判定耿耿数已经被bind过?
			
这个只有原生bind才有这福利 var fn1 = function(){} var a = {} var b = fn1.bind(a) console.log(b.name) // "b ...