str = 'abcde...wxyz'

[num]提取指定字符

str[0] == 'a'

str[1] == 'b'

str[-1] == 'z'

[start:end:step]分片/切片,一定要带上:冒号.end是偏移量,偏移位数,偏移到的key=偏移位数-1

str[:] == str[0:] ==str[0:-1] == str[0:26] == str #取所有元素

str[:10] == str[0:10] = 'abcdefghi'  #从0开始取10位,也就是 str[0]到str[9]

str[23:] == str[-3:] == 'xyz' #从str[23]开始取到最后 == 从倒数第三位取到最后

str[19::4] == 'tx' #从str[19]开始每隔4位取1次

str[:21:5] =='afkpu' #从第一位开始取到21位,每隔5位取1次

str[::7] == 'ahov' #从0开始到最后,每隔7位取1次

str[-1::-1] == str[::-1] == 'zyxw...cba' #从最后一位取到第一位,每隔-1位取一次

切片start:小于起始位置的偏移量被当做0,也就是起始位置,end:大于终止位置的偏移量被当做-1

end可以理解为

①提取到str[end]的前一位,也就是str[end-1]位,

②也可以理解为提取到第end位,由于是从0开始,那么第end位为str[end-1] (自己的理解,应该没错)

split()分割/提取?以指定字符为分隔符,把字符串分割为由若干子串组成的列表list.

str = 'abc , def , higkl,mn opq'

str.split(',') == ['abc', 'def', 'higkl', 'mn opq'] #以,为分隔符,组成list

str.split() == ['abc', ',', 'higkl,mn', 'opq'] #如果没有指定分隔符,则默认为空格或换行

join()列表合并字符串

strList = ['A', 'B', 'C', 'D']

str = ','.join(strList) #str = 'A,B,C,D',把列表的元素取出来,以','逗号为分隔符连接起来

字符串查找

str = '''Today, my friends and I decided to take a visit to an old town which was near our city.

We had heard of it for a long time, but we never had the chance to go there.

A week ago, I happened to read an article about the old town'''

str.startswith('Today') == True #是不是以'Today'开头,这里区分大小写

str.endswith('there.') == True #是不是以'there.'结尾

str.find('we') #查找第一次出现'we'的位置(偏移量)

str.rfind('we') #查找最后一次出现'we'的位置(偏移量)

str.count('we') #查找'we'出现的次数

str.isalnum() == False #所有的字符都是数字或者字母

字符串删除和格式化(如大小写)

str = ' my friends and ...'

str.strip('.') == 'my friends and' #删除所有'.'字符

str.capitalize() == 'My friends and' #首字母大写

str.title() == 'My Friends And' #所有单词首字母大写

str.upper() str.lower() #所有字母大写/小写

str.swapcase() #所有字母大小写转换

str.center(30) == '      my friends and ...      ' #在30个字符位居中显示

str.ljust(30) str.rjust(30) #同上 居左 居右显示

replace()字符串替换,参数:需要被替换的子串,用于替换的新子串,需要替换多少次(为空则默认只替换第一个)

str = 'AA, ABab '

str.replace('A','AA')  ==  'AAA, ABab' #只替换第一个

str.replace('A','AA',3) == 'AAAA,AABab'#替换3次

以上的字符串操作都没有改变字符串,在python中字符串是不可变的,应该是在内存中创建了一个字符串,这个字符串无法被改变

上面的操作只是在内存中建立了一个新的字符串,可以指向一个新建的变量来保存他

如str = 'abc' str += 'def'

①新建abc字符串

②新建str变量

③str指向abc,或者是str引用了abc?

④新建一个字符串 abcdef

⑤abcdef指向str

⑥abc没有被引用或者指向,然后就被回收了?

20170721_python字符串操作_《python语言及其应用》的更多相关文章

  1. python基础操作_字符串操作_列表操作list

    #字符串可以通过下表取值,如下程序 names='java python' print(names[0],names[5]) #使用for循环轮询所有name值 ''' for name in nam ...

  2. Python语言数据结构和语言结构(2)

    目录 1. Python预备基础 2. Python数据类型 3. Python条件语句 4. while循环和for循环 1. Python预备基础 1.1 变量的命名   变量命名规则主要有以下几 ...

  3. java===java基础学习(4)---字符串操作

    java中的字符串操作和python中的大致相同,需要熟悉的就是具体操作形式. 关于具体api的使用,详见:java===字符串常用API介绍(转) package testbotoo; public ...

  4. 实验楼Python学习记录_挑战字符串操作

    自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...

  5. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  6. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

  7. Python之字符串操作

    一.字符串特点 内容不可修改 password=' #内容不可修改 二.字符串常用方法 1..strip()方法 去字符串两边的空格和换行符 print(password.strip()) #去掉字符 ...

  8. Python语言程序设计之三--列表List常见操作和错误总结

    最近在学习列表,在这里卡住了很久,主要是课后习题太多,而且难度也不小.像我看的这本<Python语言程序设计>--梁勇著,列表和多维列表两章课后习题就有93道之多.我的天!但是题目出的非常 ...

  9. 6. Go语言—字符串操作

    一.字符串支持的转义字符 \r 回车符(返回行首) \n 换行符(直接跳到下一行的同列位置) \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠 \uXXXX Unicode字符码值转义 ...

随机推荐

  1. 预约会议sql

     CREATE proc sp_MeetingCheck_Test        @serialno varchar(max)='',   ---- 主档serialno        @title  ...

  2. Gradle入门学习---认识buildeTypes和dependencies

    Gradle是Android Studio默认的构建工具,如果是基本的APP开发,不会涉及到Gradle太多内容,毕竟它的诞生就不是专为Android服务的. 日常开发需要涉及到使用Gradle的场景 ...

  3. Java对象的内存布局

    对象的内存布局 平时用java编写程序,你了解java对象的内存布局么? 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域: 对象头 实例数据 对齐填充 对象头 对象头包括两部分信息: ...

  4. TypeScript技巧集锦(陆续更新)

    在C++项目中编译TypeScript(以下简称ts) 编辑ts文件的属性,项类型选择"自定义生产工具". 命令行输入tsc所在位置与编译参数,我的是"C:\Progra ...

  5. 移动办公OA系统

    好久没有更新文章了,总觉得心里空空的,最近由于工作的原因,没有来的及及时更新,总感觉应该把学习到的东西做个记录,供大家学习,也供自己复习,温故而知新.今天趁着周末休息时间,把自己最近在公司的做的项目做 ...

  6. eclipse tomcat add时提示The Tomcat server configuration at \Servers\Tomcat v6.0 Server at localhost-

    原因为左侧项目中把对于网络应用的servers项目给关闭或删除了,导致相应的localhost-config无法定位,所以才发生的错误. 解决办法:删除servers下的tomcat 重新添加serv ...

  7. EJB系列 - 会话Bean基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-session-bean/ 什么是会话 有限的时间周期内,客户端和服务器之间的连接 为什么使用 ...

  8. TIOBE:全球编程语言最新排名(Kotlin排名进入前50名)

    作为coder,大家当然关心自己所使用语言的应用趋势.要是几年后所用语言变得默默无闻,那岂不是之前的知识储备与经验积累都会大打折扣.TIOBE排行榜是根据互联网上有经验的程序员.课程和第三方厂商的数量 ...

  9. Angular中使用Swiper不能滑动的解决方法

    Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,很受很多设计师的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类, ...

  10. css的各种选择器

    一.基本选择器 1. * 通用元素选择器,匹配任何元素 2. E 标签选择器,匹配所有使用E标签的元素 3. .info class选择器,匹配所有class属性中包含info的元素 4. #foot ...