文章末尾获取思维导图高清源文件

拼接字符串

使用“+”可以对多个字符串进行拼接
语法格式str1 + str2

>>> str1 = "aaa"
>>> str2 = "bbb"
>>> print(str1 + str2)
aaabbb

需要注意的是字符串不允许直接与其他类型进行拼接,例如

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + num)
Traceback (most recent call last):File "<pyshell#5>", line 1, in <module>print(str1 + num)
TypeError: can only concatenate str (not "int") to str

上面这种情况我们可以将num转换为字符串再进行拼接

>>> num = 100
>>> str1 = "hello"
>>> print(str1 + str(num))
hello100

这样就不会报错了

计算字符串的长度

在Python中使用len()函数来计算字符串的长度
语法格式len(string)

>>> str1 = "hello"
>>> len(str1)
5
>>> str2 = "你好"
>>> len(str2)
2
>>> str3 = "1111"
>>> len(str3)
4

从上面的结果我们可以看出,在默认情况下,len函数在计算字符串的长度时,无论是数字,字母还是多字节的汉字都认为是一个字符。
为什么说是默认情况下呢,因为在实际开发中,可能因为我们采取的编码不同,字符串实际所占的字节数也不同。

  • UTF-8编码,汉字占3个字节
  • GBK或者GB2312,汉字占2个字节
    这时我们可以通过使用encode()方法进行编码后再进行获取长度。
    例如:
>>> str1 = "你好"
>>> len(str1)
2
>>> len(str1.encode('gbk'))
4
>>> len(str1.encode('utf-8'))
6

截取字符串

语法格式string[start : end : step]
参数说明

  • string:表示要截取的字符串
  • start:表示要截取的第一个字符的索引(包括该字符),如果不指定,则默认为0
  • end:表示要截取的最后一个字符的索引(不包括该字符),如果不指定则默认为字符串的长度。
  • step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。
>>> str1 = "hello world!"
>>> str1[1]     #截取第2个字符
'e'
>>> str1[2:]    #从第3个字符开始截取
'llo world!'
>>> str1[:4]
'hell'
>>> str1[1:5]
'ello'
>>> str1[-1]    #截取最后一个字符
'!'
>>> str1[2:-2]
'llo worl'

注意:字符串的索引是从0开始的

分割字符串

python中分割字符串是使用split()方法把字符串分割成列表
语法格式str.split(sep, maxsplit)
参数说明:

  • str:表示要进行分割的字符串
  • sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行"\n”、制表符“\t”等)。
  • maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数最多为 maxsplit+1
  • 返回值:分隔后的字符串列表。
>>> str1 = "i am a good boy!"
>>> str1.split()    #采用默认分割符进行分割
['i', 'am', 'a', 'good', 'boy!']
>>> str1.split(" ")   #采用空格进行分割
['i', 'am', 'a', 'good', 'boy!']
>>> str1.split(" ", 3)  #采用空格进行分割,并且只分割前3个
['i', 'am', 'a', 'good boy!']

注意默认情况下按空格分割

检索字符串

python中字符串的查找方法
1、count()方法
语法格式str.count(sub[, start[, end]])
作用:用于检索指定字符串在另一个字符串中出现的次数,如果检索的字符串不存在则返回0,否则返回出现的次数。
参数说明

  • str:表示原字符串
  • sub:表示要检索的子字符串
  • start:可选参数,表示检索范围的起始位置的索引,如果不指定,则从头开始检索
  • end:可选参数,表示检索范围的结束位置的索引,如果不指定,则一直检索到结尾
>>> str1 = "hello world"
>>> print(str1.count('o'))
2

2、find()方法
语法格式str.find(sub[, start[, end]])
作用:检索是否包含指定的字符串,如果检索的字符串不存在则返回-1,否则返回首次出现该字符串时的索引。

>>> str1 = "hello world!"
>>> str1.find('wo')
6

3、index()方法
语法格式str.index(sub[, start[, end]])
作用:和find方法类似,也用于检索是否包含指定的字符串,使用index方法,当指定的字符串不存在时会抛异常。

>>> str1 = "hello world!"
>>> str1.index('w')
6
>>> str1.index('m')
Traceback (most recent call last):File "<pyshell#6>", line 1, in <module>str1.index('m')
ValueError: substring not found
>>> str1.find('m')
-1

4、startswith()方法
语法格式str.startswith(prefix[, start[, end]])
作用:检索字符串是否以指定的字符串开头,如果是则返回true,否则返回false。

>>> str1 = "hello world!"
>>> str1.startswith('hello')
True
>>> str1.startswith('hi')
False
>>>

5、endswith()方法
语法格式str.endswith(prefix[, start[, end]])
作用:检索字符串是否以指定的字符串结尾,如果是则返回true,否则返回false。

>>> str1 = "hello world!"
>>> str1.endswith('world!')
True
>>> str1.endswith('haha')
False

字符串的大小写转换

1、lower()方法
语法格式str.lower()
作用:将字符串中的大写字母转换为小写字母

>>> str1 = "Hello World!"
>>> str1.lower()
'hello world!'

2、upper()方法
语法格式str.upper()
作用:将字符串中的小写字母转换为大写字母

>>> str1 = "Hello World!"
>>> str1.upper()
'HELLO WORLD!'

去除字符串中的空格和特殊字符

开发中,我们会遇到这样的需求,字符串前后(左右侧)不允许出现空格和特殊字符或者将用户输入的字符串中误输入的空格去除掉。这时我们就需要用到strip函数。
1、strip()方法
语法格式str.strip([chars])
作用:去除字符串前后(左右侧)的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.strip()
'hello  world!'
>>> str2 = "#hello world#@#"
>>> str2.strip('#')
'hello world#@'
>>> str3 = "@hello world!@."
>>> str3.strip('@.')
'hello world!'

2、lstrip()方法
语法格式str.lstrip([chars])
作用:去除字符串前面(左侧)的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.lstrip()
'hello  world!   '
>>> str2 = "#hello world#@#"
>>> str2.lstrip('#')
'hello world#@#'
>>> str3 = "@.hello world!@."
>>> str3.lstrip('@.')
'hello world!@.'

3、rstrip()方法
语法格式str.rstrip([chars])
作用:去除字符串后面(右侧)的空格或特殊字符

>>> str1 = "   hello  world!   "
>>> str1.rstrip()
'   hello  world!'
>>> str2 = "#hello world#@#"
>>> str2.rstrip('#')
'#hello world#@'
>>> str3 = "@.hello world!@."
>>> str3.rstrip('@.')
'@.hello world!'

格式化字符串

所谓格式化字符串就是先制定一个模板,在模板中预留几个空位,然后根据需要填上相应的内容。
####使用“%”操作符
语法格式'%[-][+][0][.n]格式化字符'%exp
参数说明

  • -:可选参数,用于指定左对齐,正数前方无符号,负数前面加负号
  • +:可选参数,用于指定右对齐,正数前方加正号,负数前方加负号
  • 0:可选参数,表示右对齐,正数前方无符号,负数前方加负号,用0填充空白处(一般与m参数一起使用)
  • m:可选参数,表示占有宽度
  • n:可选参数,表示小数点后保留的位数
  • 格式化字符:用于指定类型,其值如下表所示
  • exp:要转换的项,如果要指定的项有多个,需要通过元组的形式进行指定,但不能使用列表。
>>> template = '学号:%d,姓名:%s,班级:%s'
>>> print(template% (123,'张三','一年级'))
学号:123,姓名:张三,班级:一年级

好了,关于Python中字符串的操作方法就介绍到这里,希望可以帮助到大家。
需要思维导图源文件的请留言你的邮箱

【思维导图】Python中常用的8种字符串操作相关推荐

  1. xman的思维导图快捷键_思维导图软件——MindMaster常用快捷键汇总

    思维导图,英文是The Mind Map,又叫心智导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具.今天就为大家带来一款非常好用的思维导图软件--亿图思维导图,Mi ...

  2. 中职教材计算机应用基础思维导图,思维导图在中职《计算机应用基础》教学中应用.doc...

    思维导图在中职<计算机应用基础>教学中应用 思维导图在中职<计算机应用基础>教学中应用摘 要:本文阐述了思维导图的涵义及特点,并结合中职<计算机应用基础>教学的现状 ...

  3. XMind思维导图软件和常用快捷键

    XMind思维导图软件和常用快捷键 搬砖- 官方推荐视频教程:Xmind思维导图从入门到精通-官方推荐教程B站视频 XMind 快捷键完整命令 快捷键(Windows) 快捷键(Mac) 描述 + + ...

  4. 如何通过思维导图进行计划安排的6种模板鉴赏

    相信在生活中,我们常会遇到两种人,一种人做事有条不紊,谨慎仔细:一种人做事杂乱无章,莽撞大意.做事谨慎的人说明他的思维能力强,十分有计划性:而做事马虎的人则说明他的思维能力较弱,很少事先计划或者是不会 ...

  5. python中常用的九种预处理方法

    本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...

  6. MindManager思维导图软件中如何下载使用行业分析模板教程分享

    当您需要启动一个新项目,或者想要重新定位您的产品的时候,您肯定需要确定该行业内是否可行,还需要发现阻碍发展的威胁.为了更好的市场预测和制定出商业策略,您需要进行五力分析. 而我们MindManager ...

  7. python3思维导图.xmind_我常用的3款脑图工具

    朋友们大家好,我是涛哥,今天给大家分享几款我常用思维导图工具. 首先我们来说说思维导图,百度百科解释:思维导图,英文是The Mind Map,又叫心智导图,是表达发散性思维的有效图形思维工具,它简单 ...

  8. 计算机应用看法思维导图,思维导图在中职计算机教学中的应用与研究——以《计算机应用基础》为例...

    摘要: 职业教育对经济和社会的发展有重大意义,它为各行各业提供了相当大比例的技术人才.随着中国经济走向世界,需要更多工作在一线的技能人才,职业教育更受关注.中等职业教育作为职业教育的重要组成部分,也赢 ...

  9. 两个形状不同的长方形周长_借助思维导图玩转小学阶段三种不同计算图形周长的方法!...

    小数老师说: 认识长方形.正方形.三角形等平面图形,周长是这些图形的一个基本特性.展开对周长的学习,首先要理解周长的意义,通常可以通过结合实例来理解,也可以经过实际的描边来具体感受周长的实际意义. 点 ...

最新文章

  1. CCNA实验:VLan间路由实验配置 (单臂路由)
  2. 配置DispatcherServlet应该写/还是/*
  3. 演讲 | 微软亚洲研究院刘铁岩:对偶学习推动人工智能的新浪潮
  4. LeetCode Algorithm 414. 第三大的数
  5. ruby打印_Ruby程序打印数字的力量
  6. RAC集群故障恢复CRS-4047,CRS-4000
  7. python建立ip代理池_Python搭建代理IP池实现存储IP的方法
  8. 排序算法之----快速排序(快速上手快速排序)
  9. android 开发规范
  10. 使用C#调试Windows服务模板项目
  11. Hive分区(静态分区+动态分区)
  12. C调用系统命令ping崩溃日志
  13. 一文详尽移动互联网广告监测与归因
  14. 绝知此事要躬行|fatal: not in a git directoryError: Command failed with exit 128: git
  15. C语言练习题:统计 N 个整数中,大于零或小于零的整数个数(数组)
  16. 【经验】通过JVM调优,让凯哥个人博客响应速度提升了不少
  17. 【历史上的今天】8 月 8 日:中国第一个校园 BBS 成立;网景通信上市;EarthLink 创始人出生
  18. java源码 - SpringMVC(9)之 其他Resolver
  19. 只需这10招,强壮骨骼到老非你莫属
  20. 合肥工业大学宣城校区Java技术实验二 基于GUI的网络通信程序设计

热门文章

  1. java结丹期(14)----javaweb(cookiesession)
  2. 03-密码学基础-数字摘要hash的介绍
  3. centos光盘修复引导_CentOS系统启动/boot/initramfs修复(实验)
  4. 2020-11-11(C语言下JNI开发hello过程)
  5. 植物大战僵尸食人花无cd逆向分析
  6. 4.内核APC执行过程
  7. 129. 火车进栈【栈】
  8. 1105 Spiral Matrix (25 分)【难度: 一般 / 知识点: 模拟】
  9. 1.2.1 计算机硬件的基本组成
  10. C语言编程的Debug版和Release版