1. 引言

在Python中,字符串String是常用的数据类型之一,本文就字符串中相关常见的函数和操作进行汇总,方便大家查漏补缺。

闲话少说,我们直接开始吧

2. 计算字符串长度

一般来说字符串的长度指的是字符串中所包含的字符的数量。如果我们需要得到字符串的长度,我们一般使用内置的函数len,如下所示:

fruit = "apple"
print(len(fruit))
# 5

3. 计算字符串中子串数目

一般来说,我们也可以使用函数count()来计算字符串中相应子串的数目,如下所示:

string = "aaaabbbcc"
print(string.count("a")) # 4, as "a" appears 4 times
print(string.count("b")) # 3, as "b" appears 3 times
print(string.count("c")) # 2
print(string.count("z"))  # 0
print(string.count("aa")) # 2

4. 字符串中查找子串

4.1 Index函数

一般来说,我们使用函数index来获取子串在字符串中的索引位置,样例如下:

string = "abcdefg"
print(string.index("a")) # 0
print(string.index("b")) # 1
print(string.index("c")) # 2
print(string.index("z")) # error

需要明确的是函数index的输入参数为需要查找的子串,它遍历整个字符串来寻找是否包含相应的子串,如果可以找到,就返回该子串首次出现的位置。如果不存在,则将触发以下错误:

ValueError: substring not found

4.2 find函数

函数find的功能和函数index的功能类似,不同点在于如果子串不存在,函数find不会触发错误而是返回-1,举例如下:

string = "abcdefg"
print(string.find("a")) # 0
print(string.find("b")) # 1
print(string.find("c")) # 2
print(string.find("z")) # -1

4.3 rfind函数

函数rfind功能和find类似,但是该函数返回的是最后出现子串的位置索引而不是首次出现的位置索引。
举例如下:

string = "abcabc"
print(string.rfind("a")) # 3 -> index of last-found "a"

5. 删除字符串中的空白字符

这里空白字符主要包括以下三种:

  • ’ ’ -> 空格字符
  • ‘\n’ -> 换行字符
  • ‘\t’ -> 水平制表符

5.1 strip函数

函数strip()主要用于删除字符串中左右两端的上述三种空白字符,举例如下:

string = " \n\t apple \n\t\n   "
print(string.strip()) # "apple"

5.2 lstrip函数

函数lstrip()主要用于删除字符串中左端的上述三种空白字符,举例如下:

string = " \n\t apple \n\t\n   "
print(string.lstrip()) # "apple \n\t\n    "

5.3 rstrip函数

同时,函数rstrip()主要用于删除字符串中右端的上述三种空白字符,举例如下:

string = " \n\t apple \n\t\n   "
print(string.rstrip()) # " \n\t apple"

6. 使用特定字符分割字符串

函数split()主要用于使用空格字符将字符串拆分成小的字符串列表,举例如下:

string = "apple orange pear"
print(string.split()) # ["apple", "orange", "pear"]

一般来说,函数split()默认使用空格来将字符串进行拆分,同时如果我们传入字符串参数,那么函数split()将根据传入的内容来分割字符串,举例如下:

string = "apple,orange,pear"
print(string.split(",")) # ["apple", "orange", "pear"]

7. 使用特定字符拼接字符串

函数join主要用于传入字符串列表,并对字符串列表中所有的字符串通过分隔符进行拼接,举例如下:

list1 = ["apple", "orange", "pear"]
string1 = " ".join(list1) # "apple orange pear"
string2 = ",".join(list1) # "apple,orange,pear"
string3 = "!!!".join(list1) # "apple!!!orange!!!pear"

8. 处理字符串中的大小写

8.1 upper函数

函数upper主要用于将字符串中的所有小写字符转化为大写字符,如下所示:

string = "apple"
string = string.upper() # "APPLE"

8.2 lower函数

函数lower主要用于将字符串中的所有大写字符转化为小写字符,如下所示:

string = "APPLE"
string = string.lower() # "apple"

8.3 isupper函数

函数isupper主要用于判断字符串中所有字符均为大写字符时返回True否则返回False,举例所示:

string1 = "APPLE"
string2 = "Apple"
print(string1.isupper()) # True
print(string2.isupper()) # False

8.4 islower函数

函数islower主要用于判断字符串中所有字符均为小写字符时返回True否则返回False,举例所示:

string1 = "apple"
string2 = "Apple"
print(string1.islower()) # True
print(string2.islower()) # False

8.5 title函数

函数title主要用于将字符串中每个单词的首个字母转化为大写,举例如下:

sentence = "my name is bob"
print(sentence.title()) # My Name Is Bob"

8.6 swapcase函数

函数swapcase主要用于将字符串中每个字符的大写字符转化为小写,同时将其中的小写字符转化为大写,非字母字符保持不变,举例如下:

string = "abCDefG"
print(string.swapcase()) # "ABcdEFg"

9. 判断字符串是否仅包含某些字符

9.1 isalnum函数

函数isalnum主要用于判断字符串中每个字符是否都是数字或者字母,举例如下:

string1 = "abc123"
string2 = "abc123!"
print(string1.isalnum()) # True
print(string2.isalnum()) # False

上述字符串string2返回False的原因主要是由于字符!

9.2 isalpha函数

函数isalpha主要用于判断字符串中每个字符是否都是字母,如果存在一个非字母的字符则将返回False,举例如下:

string1 = "abc"
string2 = "abc123"
print(string1.isalpha()) # True
print(string2.isalpha()) # False

9.3 isdigit函数

函数isdigit主要用于判断字符串中每个字符是否都是数字,如果存在一个非数字的字符则将返回False,举例如下:

string1 = "123"
string2 = "123a"
print(string1.isdigit()) # True
print(string2.isdigit()) # False

9.4 isspace函数

函数isspace主要用于判断字符串中每个字符是否都是空白字符,如果存在一个非空白字符则将返回False,举例如下:

string1 = "  \n\n\t\t "
string1 = "  \n\n\t\t a"
print(string1.isspace()) # True
print(string2.isspace()) # False

10. 总结

本文重点介绍了Python中字符串string中常见的操作和相应的应用场景,并给出了相关代码示例。

您学废了嘛?

Python简明教程--String相关推荐

  1. 简明python教程在线-Python简明教程

    Python简明教程在线阅读地址: https://bop.molun.net/ DocStrings 该文档字符串所约定的是一串多行字符串,其中第一行以某一大写字母开始,以句号结束.第二行为空行,后 ...

  2. python程序设计简明教程知识点_《Python 简明教程》读书笔记系列一 —— 基本语法...

    基础知识 注释 注释 是 # 符号右侧的任何文本,主要用作程序读者的注释. 在程序中要使用尽可能多的有用注释: 解释假设(或者前提 / 条件) 解释重要的决定 解释重要的细节 解释你想要解决的问题 解 ...

  3. python3简明教程第二版答案_python入门简明教程?求最新的python简明教程,最好是python3的...

    本人对于计算机没有任何基础,只是简单的操作.过两天要学习python语言的基础课,需要如何准备.跪谢! 先看python的简明教程,然后可以再看<dive into python>中文版( ...

  4. 《Python简明教程》第10章在Windows下利用Haozip命令行备份文件

    在<Python简明教程>第10章中的备份程序使用的是在Linux下压缩命令.由于本人没安装Linux系统,为了实现例子10.1,便需要一个带命令行的压缩程序.国产好压软件刚好带有命令行, ...

  5. python简明教程word版-计算机开放电子书归档 2018

    97 Things Every Programmer Should Know A Java Reference (UCB CS61b Textbook) AI Cheat Sheet Advanced ...

  6. 简明python教程-Python简明教程

    Python一小时快速入门 1.Python简介 pylogo.png Python是一种相当高级的解释性程序设计语言,完成同一个任务C语言可能需要几千行代码 Java要写100行,Python可能只 ...

  7. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  8. Python简明教程

    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200.     思路:用shell编程.(Linux通常是bash而Win ...

  9. 【Python简明教程二十八】PIP

    1 概述 PIP 是 Python 包或模块的包管理器. 注释:如果使用的是 Python 3.4 或更高版本,则默认情况下会包含 PIP. 2 包(Package) 包中包含模块所需的所有文件. 模 ...

  10. Python简明教程--Set

    1. 引言 在Python中,集合Set是常用的数据类型之一,本文就集合相关常见的函数和操作进行汇总,方便大家查漏补缺. 闲话少说,我们直接开始吧! 2. 相关概念 2.1 定义 集合set是具有唯一 ...

最新文章

  1. CentOS7关闭防火墙方法
  2. vs官方使用教程中文版与英文版
  3. MVC与三层架构区别
  4. 吴恩达机器学习3-无监督学习
  5. Tips--开源心音数据库整理(我愿称之为史上最全)
  6. mysql 选择索引_mysql选择索引
  7. 矩张量计算 matlab,用来计算广义相对论常用张量计算的Matlab程序
  8. html如何将汉字转换成英文,中文字体转化为英文或转码
  9. Android APK脱壳--腾讯乐固、360加固一键脱壳
  10. 巧用Q盘搭建SVN服务器
  11. 大学生计算机入学考试试题,大学生统考计算机一级考试试题题库.doc
  12. Scrum立会报告+燃尽图(Final阶段第七次)
  13. 移动常见问题--H5标签之浏览器兼容性、JS之浏览器兼容性、CSS3之浏览器兼容性、移动端动画、click300ms延迟、单行和多行文字溢出省略、水平居中和垂直居中
  14. 怎么开启windows hypervisor platform,解决hypervisor platform消失无法安装的问题
  15. Google可能在春节后回归中国市场。
  16. 服务器中毒怎么找出病毒源文件,电脑中毒后怎样查找出在哪个文件夹
  17. Pycharm项目中更改python版本以及opencv版本
  18. 移动互联网繁荣本质是什么
  19. 学习UE4动画蓝图:实现双脚贴地
  20. 【256期】MySQL 中 varchar 最大长度?char 和 varchar 有什么区别?

热门文章

  1. EF中执行Sql语句
  2. [VSX.002]VS开发环境模型
  3. datalist获取id传到下一个页面_如何在 Serverless 架构下优雅上传文件?
  4. 台式计算机最常用的IO总线,三总线结构的计算机总线系统由 (1) 组成。
  5. yaws mysql_MySQL入门之C语言操作MySQL
  6. 使用svnadmin对VisualSVN进行项目迁移
  7. 常见排序算法之归并排序
  8. sqlite数据库文件的下载编译和VS中数据库创建demo
  9. 移动pc一套代码_【腾讯】如何避免 CDN 为 PC 端缓存移动端页面
  10. 更改画面_看够联想姨妈红?阿虚教你更改ThinkPad 开机画面