博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 系列教程 | 字符串
阅读量:4129 次
发布时间:2019-05-25

本文共 1770 字,大约阅读时间需要 5 分钟。

字符串是 Python 中最常见的数据类型,我们可以使用引号(' 或 ")来创建字符串。字符串是以 Unicode 编码的,支持多种语言。比如 '你好', 'Hello World',这些都是基本的字符串。下面介绍下字符串的常用方法及函数 !

字符串拼接与截取

在 Python 中用 “”+“” 号连接即可,字符串的截取直接使用根据其下标截取,例如:

>>> str1 = "hello world">>> str2 = "python">>> str1 + ' ' + str2hello world python>>> str2[1: 4]yth

注意点,下标是从 0 开始的

字符串格式化

字符串的格式化有三种方式,通过 % 、str.format() 以及 f-string 。

现在对于 % 的用法用的比较少,主流都是使用后面两种方法。

例如 str.format():

>>> "{} {}".format("hello","world")  hello world# 设置指定位置,可以多次使用>>> "{0} {1} {0}".format("hello","or")hello or hello

而 f-string 格式化就是在字符串模板前面加上f,然后占位符使用 {} , 里面直接放入对应的数据对象。

>>> name = ' GoPython'>>> f'Hello, welecome to  {name}'Hello, welecome to GoPython

同时,它还支持表达式求值与函数调用,示例如下:

>>> f'A total number of {24 * 8 + 4}''A total number of 196'>>> name = 'GoPython'>>> f'My name is {name.lower()}''My name is gopython'

总之,现在一般都是推荐使用 f-string 的方法,因为它用法更加灵活方便

字符串替换

在 Python 中我们可以直接使用内置函数 replace() 进行替换。示例如下:

>>> str1 = "gopython">>> str1.replace("o", "")gpythn

除此之外,我们还可以通过第三个位置参数指定替换的次数

>>> str1 = "gopython">>> str1.replace("o", "", 1)gpython

除了上面替换方法,还可以通过正则 re.sub() 进行替换.

>>> import re>>> str1 = "gopython">>> re.sub(r"o", "*", str1)g*pyth*n

上面只是一个很简单的例子,正则替换的功能是很强悍的,有关内容可待后续正则章节一起讲!

查找字符位置

比如在很大一串字符串中,我们需要找到某字符在字符串中的位置,一种方法是适用内置函数 str.index(),示例如下:

>>> str1 = "GoPython">>> str1.index("o")1

从上面结果我们可以看到,只查找出第一个 o 的索引,如果我们想查找第二个 o 的索引,可以通过指定开始查找的位置,代码修改如下

>>> str1 = "GoPython">>> str1.index("o", 2)6

注意这个 index()方法和 find() 的区别,后者是判定某字符是否在字符串中,在返回 1,若不在则返回结果 -1.

>>> str1 = "GoPython">>> str1.find("m")-1

另外,查找字符串位置,更建议通过正则来做,在正则中 re.search() 方法不仅能返回匹配的结果,同时会返回其结果位置.

>>> str1 = "my name is python">>> result = re.search(r"p", str1)>>> result.group(), result.start(), result.end()('p', 11, 12)

前面说过正则的功能很强大,我后面会专门写个正则相关的专题!字符串的用法功能与正则是息息相关的。

未完待续...

了解更多内容,烦请关注公众号 Python编程与实战

转载地址:http://gzzvi.baihongyu.com/

你可能感兴趣的文章
记CSDN访问20万+
查看>>
Windows 环境下Webstorm 2020.3 版本在右下角找不到Git分支切换部件的一种解决方法
查看>>
Electron-Vue项目中遇到fs.rm is not a function问题的解决过程
查看>>
飞机换乘次数最少问题的两种解决方案
查看>>
有向无回路图的理解
查看>>
设计模式中英文汇总分类
查看>>
WPF实现蜘蛛纸牌游戏
查看>>
单例模式
查看>>
工厂方法模式
查看>>
模板方法模式
查看>>
数据结构之队列、栈
查看>>
数据结构之树
查看>>
数据结构之二叉树
查看>>
二叉树非递归遍历算法思悟
查看>>
红黑树算法思悟
查看>>
从山寨Spring中学习Spring IOC原理-自动装配注解
查看>>
实例区别BeanFactory和FactoryBean
查看>>
Spring后置处理器BeanPostProcessor的应用
查看>>
Spring框架的ImportSelector到底可以干嘛
查看>>
Mysql中下划线问题
查看>>