python字符串常用函数,find()、split()、index()、join()、strip()等等

python为字符串内置了很多个很好用的函数,嗯......什么是函数呢,这里先简单介绍一下,后面的章节会有详细的讲解。函数是很多计算机语言必不可少的一部分,十分重要,跟数学上的函数映射的概念基本类似,简而言之就是用来处理计算机数据的代码块,比如y=x+1,可以将这个一元一次函数用代码来实现,并封装在函数里头,之后只要输入参数x就能得到y。

接下来,我们将一一介绍一下这些python的内置的字符串函数,对了,顺便讲一下什么叫内置,就是可以直接调用,而不用自己去写的函数。


split()函数

为什么要先讲这个,因为据鄙人开发机器学习模型的经验,在训练模型之前的大数据处理阶段,我们要自己去写函数读取Excel文档,或.txt文档里头的数据,这个时候就会用到split()了,而且经常用。

split()函数可以用来切分字符串,得到一个list列表

示例

>>> a = 'x1y1z1.com,笨鸟工具导航'
>>> b = a.split(',') #用逗号将变量a切割成两部分,并将其赋值给变量b
>>> b
['x1y1z1.com', '笨鸟工具导航']
>>> type(b) #得到一个列表,得到的类型也应当熟悉,因为大数据中处理的就是数据,可如果连数据类型都搞不清楚,显然是无法继续下面的大数据分析的,也会容易发生错误
<class 'list'>

split()函数还有其他的参数,将来以一个单独的章节讲到split()时会重点介绍,python的语法学到这个阶段,没必要太复杂,而且个人认为,零基础学python第一遍学的时候能够理解,并且在学完之后有个大概的印象的话,学习的目的就基本达成了。

index()函数

index()函数返回对应字符或字符串在原字符串中的索引,如果不在原字符串中,则会报错。index()在字符串当中可能没那么经常用到,但在机器学习里头,尤其是在训练词向量的时候会经常用到,也就是说会在列表list或集合set当中经常使用。

示例

>>> a = 'x1y1z1.com,笨鸟工具导航'
>>> a.index('x') #注意这里头是字符或字符串
0 #索引总是从0开始,表示第一位
>>> a.index('x1')
0
>>> a.index('y')
2 #注意,上面的'x1'的索引为0,而y的索引却为2,由此可以推断python在字符串使用index()时,默认是将字符串以单个字符进行切分并分配索引的或内存地址。
>>> a.index(1) #字符串的index()参数必须是str类型,int或其他类型会发生TypeError错误
Traceback (most recent call last):
  File "≶stdin>", line 1, in <module>
TypeError: must be str, not int
>>> a.index('2') #如果所查找的字符或字符串不在被查找的字符串中,则报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

join()函数

join(arg)函数利用参数arg将原字符串连接成一个新的字符串,这在Django的源代码当中,我们会经常看到join()的使用,比如用来连接路径或url。

示例

>>> a = 'abcdefg'
>>> ','.join(a) #注意格式
'a,b,c,d,e,f,g'

find()函数

find()函数与index()函数的功能有些相似,返回的也是字符在对应字符串中的索引;不同的是,如果寻找的字符或字符串不在被查找的字符串里头,则返回-1

示例

>>> a = 'x1y1z1.com,笨鸟工具导航'
>>> a.find('.')
6
>>> a.find('y1')
2
>>> a.find('2') #如果寻找的字符或字符串不在被查找的字符串里头,则返回-1,这一点与index()不同
-1

strip()函数

strip()函数可以用来去除字符串两端的空格,这个在大数据清洗数据的阶段也是比较常用到的内置函数。

示例

>>> a = ' x1y1z1.com '
>>> a.strip()
'x1y1z1.com'
>>> a #注意变量a并没有改变
' x1y1z1.com '

replace()函数

replace()函数可以用来修改字符串中的某一个值(字符),但要注意的是,原来的字符串并没有被修改(字符串是不可以被修改的),这可能看起来有点混乱,我们可以通过例子开看就一目了然了。

示例

>>> a = 'Hello Word!'
>>> a.replace('Word', 'x1y1z1.com!')
'Hello x1y1z1.com'
>>> a #原字符串并没有被修改
'Hello Word!'
>>> a = a.relace('Word', 'x1y1z1.com!') #若要保存修改,可以将修改后的值赋值给某一个变量,或直接赋值给原来的变量a
>>> a
'Hello x1y1z1.com' 

字符串的其他函数

字符串还有很多其他的内置函数,不过都比较少运用到,比如upper()函数将字符串中的小写转换成大写,这个在非英文的网站中基本用不到,因为汉字没有什么大写小写之分。这里就不多做介绍了,以后若是有需要会在专门的文章中详解。

下一章节我们将介绍python的另一种数据类型——布尔型


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.