python 中的字符串详解

字符串很好理解:它就是一串字符,在python中用 ’ 或者 " 创建的都是字符串。

str1 = "hello"
str2 = "world"

字符串拼接:

str = str1 + str2 //"helloworld"

字符串长度:

len(str) //10

字符串可通过索引访问:

1.索引从 0 开始
str[0] // h

2.如果超出字符串的长度则会报错。
str[10] //IndexError

3.索引可以为负数,从-1开始
str[-1] //d 

字符串切片:

语法:string[start : end : step]

start:表示截取的开始索引。如果不指定,默认为 0。 end:表示要截取的最后索引。如果不指定,默认为最后一位。 step:从开始位置,指定截取字符串的步数。step 默认值为 1。

其中三个参数都可以省略。start 与 end 遵循「左闭右开」的原则,例如:

1.设置开始和结束索引
str[0:2] //he 大于等于0,小于2的索引,即为左闭右开

2.可以省略 end,默认会取到最后一位
str[2:] //lloworld 从索引 2 开始到最后

3.也可省略 start
str[:2] //he 省略的话默认从 0 开始

4.索引也可为负数
str[2:-1] //lloworl 从索引2开始,到倒数第二

5.设置切片的步数
str[::2] //hlool

6.也可三个全部省略,此时全部为默认值
str[::] //helloworld 

字符串方法

1. find()

从左到右检索字符串中是否包含某字符串,如果包含则返回,第一次出现该字符串的索引;否则返回 -1。

语法:str.find(sub[,start[,end]])

sub:要检索的某字符串; start:开始检索的起始位置。默认从头开始检索; end:检索的结束位置。默认一直检索到结尾。

str.find("l") //2 返回第一次匹配的索引
str.find("l", 5) //8 从索引为5时开始检索
str.find("x") // -1 找不到返回 -1

2. rfind()

用法与 find 相同,唯一区别是,它是「从右向左」开始检索,而 find 是从「左向右」开始。

3. index()

它的用法也和 find 相同,区别在于,当 index 匹配不到值时,程序会报错,而不是返回 -1。

4. count()

返回检索结果出现的次数。

语法:str.count(sub[,start[,end]]) 参数描述同上。

str.count("h") //1 出现了1次h
str.count("l") //3 出现了3次l

5. relpace() 替换字符串的内容

语法:str.replace(old, new[, max])

old:被替换的字符。 new:新字符。 max:可选参数, 替换的最大次数

str.replace("h", "m") //melloworld
str.replace("l", "m") //hemmowormd,全部替换
str.replace("l", "m", 1) //hemloworld,最多替换一次  

6. split() 按照给定的字符分割字符串。返回一个列表。

语法:str.split(str, num)

str:分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num:分割的次数。默认为 -1, 即分隔所有。

str = "hello world"
str.split() //['hello', 'world']
str.split("l") //['he', '', 'o wor', 'd']

7. join()

用分隔符将序列中的元素连接在一起成为字符串。可理解为 split 方法的可逆操作。

语法:str.join(sequence)

str = "-"
list = ["a", "b", "c"]
print(str.join(list)) //a-b-c

8. startswith() 检索字符串以什么开头。匹配则返回True,否则返回Flase。 语法:str.startswith(sub[,start[,end]])

str = "http://liuxiaodengdeng.com"
print(str.startswith("http")) //True

9. endswith() 检索字符串以什么结尾。匹配则返回True,否则返回Flase。 语法:str.endswith(sub[,start[,end]])

str = "http://liuxiaodengdeng.com"
print(str.endswith(".com")) //True

10. strip()

去除字符串两边的空格或者特殊字符。

语法:str.strip([chars]) chars:为你需要去除的字符。

11. lstrip() 去除字符串左边的空格和特殊字符。用法同上

12. rstrip() 去除字符串右边的空格和特殊字符。用法同上

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券