python基础:字符串常用方法

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号, 也可以是双引号。

在字符串中也可以包含引号和撇号。如:'I told my friend, "Python is my favorite language!"'

字符串为不可变数据类型,调用字符串的方法,不会改变字符串本身,而是生成一个新的字符串。

字符串的常用方法

1. 字符串索引:

>>> name = "abcdefg"
>>> name[0]
'a'
>>> name[-1]  # 索引值为-1表示获取最后一个
'g'
>>> len(name)  # len()函数可以获取字符串长度
7

2. 修改字符串的大小写:capitalize(),title(),upper(),lower()

>>> name = "abcd efg"

>>> name.capitalize()  # 将句首字母改为大写
'Abcd efg'

>>> name.title()  # 将每个单词的首字母都改为大写
'Abcd Efg'

>>> name.upper()  # 将字符串转成大写
'ABCD EFG'

>>> name = "AbCd Efg"

>>> name.lower()  # 将字符串转成小写
'abcd efg'

3. 查找方法:find(),rfind(),index(),rindex()

>>> test = "hello world hello"

>>> test.find("e")  # 参数可以是单个字符也可以是字符串,默认从左边开始找,输出第一次找到的位置
1
>>> test.find("hello")
0
>>> test.find("word")  # 当找不到时返回-1,可用于判断字符或字符串是否在指定字符串中
-1
>>> test.rfind("hello")  # 从右边开始找
12

>>> test.index("e") 
1
>>> test.index("world")
6
>>> test.rindex("hello") 
12 
>>> test.index("a")  # 当找不到时会报错,与find()方法的区别
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>>

## 扩展:
#判断字符或字符串是否在指定字符串中还可以用 in 或 not in 例:
>>> "world" in test
True
>>> "word" not in test
True

4. 计数: count()

>>> test = "abcdeabc"

>>> test.count("a")
2
>>> test.count("abc")
2
>>> test.count("s")
0

5. 替换:replace()

>>> test = "hello world hello world"

>>> test.replace("hello", "hi")  # 默认将找到的全部替换
'hi world hi world'
>>> test.replace("hello", "hi", 1)  # 指定count,则替换不超过count次
'hi world hello world hello world'

6. 切片:split(),partition()

>>> test = "hava a nice day"

>>> test.split()  # 默认以空格为分隔符, 返回一个列表
['hava', 'a', 'nice', 'day']

>>> test.split("nice")  # 指定分隔符,分隔符不包含在列表中
['hava a ', ' day']

>>> test.split(" ", 2)  # 指定最多分割多少次
['hava', 'a', 'nice day']

>>> test.partition("nice")  # 分隔符包含在列表中(注意与split()的区别)
('hava a ', 'nice', ' day')

## partition()必须指定分隔符,不能指定分割次数

7. lstrip(),rstrip(),strip()

>>> test = " hello world "

>>> test.lstrip()  # 删除左边空格
'hello world '

>>> test.rstrip()  # 删除右边空格
' hello world'

>>> test.strip() # 删除两边空格  ## 不能删除字符串中间的空格
'hello world'

8. join():将列表以字符串进行连接,返回一个字符串

>>> list = ["hello", "world"]

>>> " ".join(list)
'hello world'

9. startswith():检查字符串以什么开头,返回布尔值:True或False

    endswith():检查字符串以什么开头,返回布尔值:True或False

10. isalnum():字符串是否只包含数字

    isalpha():字符串是否只包含字母

    isdigit():字符串是否只包含数字或字母

    isspace():是否只包含空格

切片:

字符串,列表,元组均可进行切片操作

>>> test = "abcdefgh"

>>> test[1:3]  # 包含头,不包含尾
'bc'

>>> test[0:-1]  # 切取整个字符串,第二个参数-1代表取到末尾
'abcdefg'

>>> test[0:]  # 第一个参数和第二个参数可以省略
'abcdefgh'
>>> test[:-1]
'abcdefg'
>>> test[:]
'abcdefgh'

>>> test[0:-1:2] # 第三个参数代表间隔
'aceg'

>>> test[-1: :-1] # 第三个参数为负数时 反着取,反转字符串
'hgfedcba'
>>> test[-1:0:-1]  # 注意 包含头不包含尾,即永远只能取到第二个参数的前一个元素
'hgfedcb'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值