字符串

  字符串是python中常用的数据类型,使用('或")来创建。

  创建字符串:

    

下标索引

  字符串实际上是字符的数组,所以也支持索引。

  str1 = 'abcdef'

  

切片

  定义:切片是指对操作的对象截取一部分的操作。字符串、列表、元祖都支持切片操作。

  语法格式:[起始值:终值:步长]

  附注:切片选取的区间属于左闭右开,即从'起始值'到'终值'的前一位(不包含终值本身)

  如:  

 str1='abcdef'
print('str1[0:3]=',str1[0:3]) #取出 0~3 的字符,不包含3
print('str1[2:4]=',str1[2:4]) #取出 2~4 的字符
print('str1[2:]=',str1[2:]) #取出 2~最后 的字符
print('str1[:-1]=',str1[:-1]) #取出 0~最后 的字符,不包括最后一个
print('str1[:]=',str1[:]) #取出所有字符
print('str1[5:1]=',str1[5:1]) #输出为空

字符串-切片

  输出结果为:

  

  步长 

 str1='abcdef'
print('str1[0::3]=',str1[0::3]) #所有范围的字符,每次前进两个字符
print('str1[0:4:2]=',str1[0:4:2]) #下标0~4之间,每次前进两个字符
print('str1[len(str1)::-1]=',str1[len(str1)::-1]) #倒叙输出

字符串-步长

  输出结果为:

  

字符串常见操作

  1、find

    检测指定字符串是否包含在当前字符串中,如果是返回开始的索引,否则返回-1。

    格式:mystr.find(str,start,end).

    如:

 str1='How are you,How are you'
index1=str1.find('How') #查询满足的第一个的下标
index2=str1.find('me') #查询是否有,没有返回-1
index3=str1.find('How',12,22) #从指定区间内查询
print('index1={},index2={},index3={}'.format(index1,index2,index3))

字符串-find

    输出结果为:

    

  2、index

    定义:与find()函数一样,不同之处在于如果要查询的对象不在当前对象中,会报一个异常。

    格式:mystr.index(str,start,end)

    如: 

 str1='How are you,How are you'
index1=str1.index('How') #查询满足的第一个的下标
#使用try-except抛出异常
try:
index2=str1.index('me') #查询是否有,没有返回一个异常
except Exception as e:
print(e)
index3=str1.index('How',12,22) #从指定区间内查询
print('index1={},index3={}'.format(index1,index3))

字符串-index

    输出结果为:

    

  3、count

    定义:返回str在start和end之间出现的次数。

    格式:mystr.count(str)

    如:   

 str1='How are you,How are you'
count1=str1.count('How') #查询'How'出现的次数
print(count1) #

字符串-统计次数

  4、replace

    定义:将当前对象的某部分替换为另外一部分。

    格式:mystr.replace(old,new,count=None)

    如:  

 str1='How are you,How are you'
replace1=str1.replace('How','What',count=1) #将How替换为What,替换1次
print(replace1) # 输出为'What are you,How are you'

字符串-替换

  5、split

    定义:将当前对象按照某种格式或某个字符分割

    格式:mystr.split(str,maxsplit),以str为分割符切片mystr,如果maxsplit有指定数字,则分割maxsplit次。

    如:

 str1='How are you,How are you'
replace1=str1.split(' ',maxsplit=3) #将str1以空格分割,分割3次
print(replace1) # 输出为['How', 'are', 'you,How', 'are you']

字符串-分割

  6、capitalize

    定义:把字符串首字母大写

    格式:mystr.capitalize()

    如:

 str1='hello'
capitalize1=str1.capitalize() #将str1的首字母大写
print(capitalize1) # 输出为'Hello'

字符串-首字母大写

  7、title

    定义:字符串的每个单词的首字母都大写

    格式:mystr.title()

    如:

 str1='How are you,How are you'
replace1=str1.title() #将每个单词的首字母大写
print(replace1) # 输出为How Are You,How Are You

字符串-每个首字母大写

  8、startswith

    定义:检查字符串是否是以指定字符串开头, 是则返回 True,否则返回 False 

 str1='abcdef'
print(str1.startswith('a'))
print(str1.startswith('b'))

  9、endswith

    定义:检查字符串是否以指定字符串结束,如果是返回True,否则返回 False。 

 str1='abcdef'
print(str1.endswith('f'))
print(str1.endswith('a'))

  10、lower

    定义:将字符串转换为小写。

 str1='abcdeF'
print(str1.lower())

  11、upper

    定义:将字符串转换为小写

 str1='abcdeF'
print(str1.upper())

  12、ljust

    定义:返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

    格式:mystr.ljust(参数1,参数2);参数1:填充的个数,参数2:填充的字符

 str1='abcdeF'
print(str1.ljust(9,'*'))

  13、rjust

    定义:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

    格式:mystr.rjust(参数1,参数2);参数1:填充的个数,参数2:填充的字符 

 str1='abcdeF'
print(str1.rjust(9,'*'))

  14、center

    定义:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

    格式:mystr.center(参数1,参数2);参数1:填充的个数,参数2:填充的字符  

 str1='abcdeF'
print(str1.center(9,'#'))

  15、lstrip

    定义:删除字符串左边的空白字符。

    格式:mystr.lstrip()

 str1='     abcdeF'
print(str1.lstrip())

  16、rstrip

    定义:删除字符串末尾的空白字符

    格式:mystr.rstrip()

 str1='     abcdeF        '
print(str1.rstrip())

  17、strip

    定义:删除字符串两端的空白字符

    格式:mystr.strip()  

 str1='     abcdeF        '
print(str1.strip())

  18、rfind

    定义:类似find()函数,不过是从右侧开始查找。返回最后一次出现的字符,找不到返回-1

    格式:mystr.rfind(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置 

 str1='abcdeF a'
print(str1.rfind('a',7,0))

  19、rindex

    定义:类似index()函数,不过是从左侧开始查找。找不到返回一个异常

    格式:mystr.rindex(参数1,参数2,参数3);参数1:查询的字符,参数2:开始查找的位置,默认为0,参数3:结束查找的位置  

 try:
str1='abcdeF a'
print(str1.rindex('a',7,0))
except Exception as e:
print(e)

  20、isspace

    定义:如果字符串只包含空格,则返回True,否则返回False。

    格式:mystr.isspace()   

 str1='abcdeF a'
print(str1.isspace())

        

    

    

  

Python基础-python数据类型之字符串(四)的更多相关文章

  1. python基础一数据类型之字符串

    摘要: python基础一中有字符串,所以这篇主要讲字符串. 一,字符串的注释 二,字符串的索引与切片 三,字符串的方法 一,字符串的注释 单引号 双引号 三引号都可以用户定义字符串.三引号不仅可以定 ...

  2. Python基础(3) - 数据类型:2字符串类型

    Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...

  3. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  4. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  5. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  6. Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...

  7. python基础深入(元组、字符串、列表、字典)

    python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...

  8. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  9. python基础(数字、字符串、布尔值、字典数据类型简介)

    一 执行第一个python程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你 ...

  10. python基础之数据类型/字符串/元组/列表/字典

    Python 数据类型 数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型).float浮点型:complex复数(python中存在小数字池:-5--257):布尔值 ...

随机推荐

  1. DRBD搭建

    基于块设备在不同的高可用服务器之间同步和镜像数据的软件,块设备可以是磁盘分区,LVM逻辑卷或整块磁盘,解决磁盘单点故障 三种复制协议 (1)协议A:异步复制协议,本地写成功后立即返回,数据放在发送bu ...

  2. 如何在Windows命令行(DOS界面)中调用 编译器 来编译C/C++源程序

    首先说明一下背景: 为什么要在DOS界面编译C/C++源程序?有很多现成的开发环境(IDE)如:vs, vc++等,这些开发环境集成了编译,调试,使用起来很方便,而且图形化操作界面,简洁明了.但是在开 ...

  3. SQL注入检测

    目前只支持单个对象,不支持对象中包含对象 /// <summary> /// 检查SQL中的非法字符 /// </summary> public class SQLInject ...

  4. UML 序列图详解

    现在是二月,而且到如今你或许已经读到.或听到人们谈论UML 2.0 —— 包括若干进步的 UML 的新规范,所做的变化.考虑到新规范的重要性,我们也正在修改这个文章系列的基础,把我们的注意力从 OMG ...

  5. 洛谷P1443马的遍历

    传送 这是个广搜,思路和普通的迷宫题差不多,但我卡了3遍,为什么呢? 因为输出格式 题目要求左对齐,宽度为5输出,在此说一下如何控制宽度. 下面的m都为要求的宽度 int 类型: printf: %m ...

  6. JVM优化系列之一(-Xss调整Stack Space的大小)

    Java程序中,每个线程都有自己的Stack Space(堆栈).这个Stack Space不是来自Heap的分配.所以Stack Space的大小不会受到-Xmx和-Xms的影响,这2个JVM参数仅 ...

  7. 廖雪峰Java6 IO编程-2input和output-7序列化

    1.序列化 序列化是指把一个Java对象变成二进制内容byte[] 序列化后可以把byte[]保存到文件中 序列化后可以把byte[]通过网络传输 一个Java对象要能序列化,必须实现Serializ ...

  8. sync;sync;sync;reboot

    Sync命令 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作.经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确实被破坏了,翻来覆去找不到文件遭破坏的原 ...

  9. Python全栈开发记录_第三篇(linux(ubuntu)的操作)

    该篇幅主要记录linux的操作,常见就不记录了,主要记录一些不太常用.难用或者自己忘记了的点. 看到https://www.cnblogs.com/resn/p/5800922.html这篇幅讲解的不 ...

  10. 让UITableView的section header view不悬停的方法

    当 UITableView 的 style 属性设置为 Plain 时,这个tableview的section header在滚动时会默认悬停在界面顶端.取消这一特性的方法有两种: 将 style 设 ...