![对比Excel,轻松学习Python数据分析(入职数据分析师系列)](https://wfqqreader-1252317822.image.myqcloud.com/cover/712/25462712/b_25462712.jpg)
2.5 字符串
2.5.1 字符串的概念
字符串是由零个或多个字符组成的有限串行,是用单引号或者双引号括起来的,符号是str(string的缩写)。下面这些都是字符串。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0048-0058.jpg?sign=1739279206-gCbkDw2AbACpS899hJjSnN7CXvcE17HY-0-d2f70f39957a0026aeface015fa3c74f)
2.5.2 字符串的连接
字符串的连接是一个比较常见的需求,比如将姓和名进行连接。直接使用操作符+就可以将两个或者两个以上的字符串进行连接。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0048-0059.jpg?sign=1739279206-9dmFN8rpxXYuIso10vBwkqHZQG9yBauw-0-3719fd80b209c5a88475a58d43ab18e0)
2.5.3 字符串的复制
有的时候我们需要把一个字符串重复多遍,比如你要把“Python真强大”这句话重复三遍,可以使用操作符*对字符串进行重复。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0048-0060.jpg?sign=1739279206-7Qs9QhEd5h2A43j7uLVBfpKJsx6p2Wpn-0-ea646f35c99080116bcd5d8bbe0b8a08)
上面代码对字符串重复三遍,输入*3就可以。你可以根据需要,重复多遍。
2.5.4 获取字符串的长度
手机号、身份证号、姓名都是字符串,想要知道这些字符串的长度,可以利用len()函数来获取字符串长度。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0048-0061.jpg?sign=1739279206-JehLG3V4S5DK7Ggg3ADYyFLAkozpJhRA-0-f383e1acf241862f61d1572c79884a3a)
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0049-0062.jpg?sign=1739279206-WggOpmULarbltf0q025egEPr60IlEXOX-0-bb5c41095d460291d3aff9c2a1523545)
2.5.5 字符串查找
字符串查找是指查找某一个字符串是否包含在另一个字符串中,比如知道一个用户名,你想知道这个用户是不是测试账号(测试账号的判断依据是名字中包含测试两字),那么只要在名字中查找“测试”字符串即可。如果找到了,则说明该用户是测试账号;如果查找不到,则说明不是测试账号。用in或者not in这两种方法均可实现。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0049-0063.jpg?sign=1739279206-jsThIeELiRSed6bvT6ASb7srhxzo2Vdw-0-d8bd00b1a17147f8b43cb74928b2b807)
除了in和not in,还可以用find,当用find查找某一字符是否存在于某个字符串中时,如果存在则返回该字符的具体位置,如果不存在则返回-1,如下所示。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0049-0064.jpg?sign=1739279206-HTF1KA301XtydprCSUTDIaV69V3HiFcP-0-1684a2b945e3cd94cc41a593f4ed8022)
注意,因为在Python中位置是从0开始数的,所以第3位就是2。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0049-0065.jpg?sign=1739279206-lhzpFs8cm8gIsHe1KCINusxLbrCvpGk8-0-327b5ac09d50207bd6dbc207929d6b83)
2.5.6 字符串索引
字符串索引是指通过字符串中值所处的位置对值进行选取。需要注意的是字符串中的位置是从0开始的。
获取字符串中第1位的值。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0049-0066.jpg?sign=1739279206-bogn0gpFj6uAy8QuGUQX9fbEylRKPGva-0-0c1cfdeaff9261cfc264d21de5f60e49)
获取字符串中第4位的值。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0067.jpg?sign=1739279206-FRxHrjBFGwjXdSxPF2aNORk3nSpfYqHJ-0-c8667a45b7ce6bdc4cf91addfc69c887)
获取字符串中第2位到第4位之间的值,且不包含第4位的值。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0068.jpg?sign=1739279206-Uj0uf38QDx87a8AjR3JHFKLngGN6NRaK-0-99c9a36e013d9a52854318dda9e63b81)
获取字符串中第1位到第4位之间的值,且不包含第4位的值,第1位可以省略不写。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0069.jpg?sign=1739279206-TpQ6b3GYdmM3JmsUjDTUAoGbLRyte20r-0-d828a5f14e8c2a6913584e213aeab64d)
获取字符串中第7位到最后一位之间的值,最后一位可以省略不写。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0070.jpg?sign=1739279206-tN6hdXcfcKAu570wAWNi4uX9nYBmUK5q-0-58d416e5b7d10eaa2336c9f2584397c0)
获取字符串中最后一位的值。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0071.jpg?sign=1739279206-qEPJauIhb9n1uj39kYvEtwjsUzSTVq1t-0-29c9c3de5dbd808d9a20f90b99adb805)
我们把上面这种通过具体某一个位置获取该位置的值的方式称为普通索引;把通过某一位置区间获取该位置区间内的值的方式称为切片索引。
2.5.7 字符串分隔
字符串分隔是先将一个字符用某个分隔符号分开,然后将分隔后的值以列表的形式返回,用到的是split()函数。
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0050-0072.jpg?sign=1739279206-G6GYjtdudHY7u7P4jnNcg9bP1JATOrFE-0-fd8c95382744ae944cfab52593b4868e)
2.5.8 移除字符
移除字符用到的方法是 strip()函数,该函数用来移除字符串首尾的指定字符,默认移除字符串首尾的空格或换行符:
![](https://epubservercos.yuewen.com/3B6FA6/13916129805955706/epubprivate/OEBPS/Images/35793-0051-0073.jpg?sign=1739279206-s19VmNZ53WscsC350K5VwHfFNYom6Ny7-0-5c346b2972cf4826301e96c05a9bb600)