python中字符串的常用方法

本文详细介绍了Python中字符串的常用方法,包括str.lower(),upper(),capitalize(),title(),strip(),lstrip(),rstrip(),replace(),split(),join(),find(),startswith(),endswith(),count(),isalpha(),isdigit(),isalnum(),eval(),list()等,并通过示例展示了它们的用法。
摘要由CSDN通过智能技术生成

字符串的常用方法

字符串是在Python中经常使用的数据类型之一,它具有许多有用的方法。下面是一些常用的字符串方法:

  1. str.lower():将字符串中的所有字符转换为小写形式。
  2. str.upper():将字符串中的所有字符转换为大写形式。
  3. str.capitalize():将字符串的第一个字符转换为大写形式,其他字符转换为小写形式。
  4. str.title():将字符串中的每个单词的首字母转换为大写形式。
  5. str.strip():删除字符串两端的空格或指定的字符。
  6. str.lstrip():删除字符串开头的空格或指定的字符。
  7. str.rstrip():删除字符串末尾的空格或指定的字符。
  8. str.replace(old, new):将字符串中的所有匹配 old 的子串替换为 new
  9. str.split():将字符串分割成子字符串,并返回一个列表。
  10. str.join(iterable):使用字符串将可迭代对象中的元素连接起来。
  11. str.startswith(prefix):判断字符串是否以指定的前缀开头。
  12. str.endswith(suffix):判断字符串是否以指定的后缀结尾。
  13. str.find(sub):返回子串 sub 在字符串中的第一个匹配位置的索引,如果没有匹配,则返回 -1。
  14. str.count(sub):返回子串 sub 在字符串中出现的次数。
  15. str.isalpha():检查字符串是否只包含字母字符。
  16. str.isdigit():检查字符串是否只包含数字字符。
  17. str.isalnum():检查字符串是否只包含字母和数字字符。

以上只是一些常用的字符串方法,还有其他更多的方法可以参考官方文档。
在这里插入图片描述

str.join(iterable)

str.join(iterable) 是一个字符串方法,它将可迭代对象 iterable 中的元素连接起来,并使用字符串 str 作为连接符。返回一个由连接后的元素组成的新字符串。

示例:

fruits = ['apple', 'banana', 'cherry']
result = ', '.join(fruits)
print(result)

# 输出: "apple, banana, cherry"

在这个例子中,我们将列表 fruits 中的元素连接起来,使用 , 作为连接符,最终得到一个新的字符串 “apple, banana, cherry”。

fruits = ['apple', 'banana', 'cherry']
result = 'aList '.join(fruits)
print(result)

# 输出:appleaList bananaaList cherry

加入空格

str.find(sub)

str.find(sub) 是一个字符串方法,它用于在字符串中查找子字符串 sub 的第一个匹配项,并返回其起始索引。如果找不到子字符串,返回 -1。

示例:

string = "Hello, World!"
index = string.find("o")
print(index)

# 输出: 4

在这个例子中,我们使用 find 方法找到了字符 “o” 的第一个匹配项,并返回其起始索引 4,若为字符"H",返回其索引0。

加入查找范围

str.find(sub, start, end) 是一个字符串方法,它用于在字符串中指定的查找范围内查找子字符串 sub 的第一个匹配项,并返回其起始索引。参数 startend 分别指定了需要进行查找的起始位置和结束位置(不包括结束位置本身)。

示例:

string = "Hello, World!"
index = string.find("o", 5, 10)
print(index)

# 输出: 7

在这个例子中,我们使用 find 方法在字符串的索引 5 到索引 10 的范围内查找字符 “o” 的第一个匹配项,并返回其起始索引 7。

str.split()

str.split() 是一个字符串方法,用于将字符串按照指定的分隔符拆分成子字符串,并返回一个列表。

示例:

string = "Hello, World!"
splitted = string.split(",")
print(splitted)

# 输出: ['Hello', ' World!']     

在这个例子中,我们使用 split 方法将字符串按照逗号分隔符进行拆分,结果将被存储在列表 splitted 中。输出为 ['Hello', ' World!']

如果没有指定分隔符作为参数,则默认使用空格作为分隔符进行拆分。

string = "Hello World!"
splitted = string.split()
print(splitted)

# 输出: ['Hello', 'World!']

在这个例子中,由于没有指定分隔符,split 方法将字符串按照空格进行拆分。结果同样被存储在列表 splitted 中,输出为 ['Hello', 'World!']

str.replace(old, new)

str.replace(old, new) 方法用于将字符串中的旧字符串 old 替换为新字符串 new。它返回一个替换后的新字符串,原始字符串不会被修改。

示例:

string = "Hello, World!"
new_string = string.replace(",", ";")
print(new_string)

# 输出: "Hello; World!"

在这个例子中,我们使用 replace 方法将字符串中的逗号 , 替换为分号 ;。替换后的新字符串被存储在 new_string 中,原始字符串 string 不会被修改。输出为 "Hello; World!"

replace 方法还可以用于移除字符串中的某个子字符串,只需要将新字符串 new 设置为空字符串即可。

string = "Hello, World!"
new_string = string.replace(",", "")
print(new_string)

# 输出: "Hello World!"

在这个例子中,我们将逗号 , 替换成了空字符串,实际上就将逗号删除了。输出为 "Hello World!"

需要注意的是,replace 方法是对整个字符串进行操作,而不是只替换第一个匹配到的子字符串。如果要替换特定位置的子字符串,可以使用切片和拼接等操作。

str.index

str.index 方法用于检索字符串中指定子字符串的索引位置。它返回第一个匹配到的子字符串的索引值。

语法:

str.index(sub[, start[, end]])

参数解释:

  • sub:要查找的子字符串。
  • start:可选参数,指定开始查找的起始位置,默认为0。
  • end:可选参数,指定结束查找的位置,默认为字符串的长度。

返回值:

  • 如果找到子字符串,则返回第一个匹配到的子字符串的索引值。
  • 如果没有找到子字符串,则抛出ValueError异常。

示例:

string = "Hello, World!"
index = string.index("o")
print(index)

# 输出:4

在这个例子中,我们使用 index 方法查找字符串中第一个字母o的索引。由于o首次出现在索引4的位置,因此输出为4

如果要查找从指定位置开始的子字符串索引,可以使用 start 参数:

string = "Hello, World!"
index = string.index("o", 5)
print(index)

# 输出:8

在这个例子中,我们从位置5开始查找字母o的索引。由于o首次出现在索引8的位置,因此输出为8

如果指定的子字符串不存在于字符串中,index 方法会抛出ValueError异常:

string = "Hello, World!"
index = string.index("z")
print(index)

# 抛出 ValueError: substring not found

在这个例子中,我们想要查找字母z的索引,但是在字符串中并不存在,因此 index 方法会抛出ValueError异常。

str.rindex

str.rindex 方法用于从字符串的右侧开始检索子字符串,并返回其索引位置。

语法:

str.rindex(sub[, start[, end]])

参数解释:

  • sub:要查找的子字符串。
  • start:可选参数,指定开始查找的起始位置,默认为0。
  • end:可选参数,指定结束查找的位置,默认为字符串的长度。

返回值:

  • 如果找到子字符串,则返回最后一个匹配到的子字符串的索引值。
  • 如果没有找到子字符串,则抛出ValueError异常。

示例:

string = "Hello, World!"
index = string.rindex("o")
print(index)

# 输出:8

在这个例子中,我们使用 rindex 方法从右侧开始查找字符串中最后一个字母o的索引。由于o最后出现在索引8的位置,因此输出为8

如果要查找从指定位置开始的子字符串索引,可以使用 start 参数:

string = "Hello, World!"
index = string.rindex("o", 0, 5)
print(index)

# 输出:4

在这个例子中,我们从索引0到5的范围内查找字母o的索引。在这个范围内,字母o最后出现在索引4的位置,因此输出为4

如果指定的子字符串不存在于字符串中,rindex 方法会抛出ValueError异常:

string = "Hello, World!"
index = string.rindex("z")
print(index)

# 抛出 ValueError: substring not found

在这个例子中,我们想要查找字母z的索引,但是在字符串中并不存在,因此 rindex 方法会抛出ValueError异常。

str.isalpha()

isalpha()是字符串对象的一个方法,用于判断字符串是否仅由字母组成。

语法:

string.isalpha()

参数:
该方法没有参数。

返回值:
如果字符串中所有的字符都是字母,则返回True;如果字符串中有至少一个非字母字符,则返回False。

示例:

word = "Hello"
print(word.isalpha())  # 输出: True

sentence = "Hello World"
print(sentence.isalpha())  # 输出: False

number = "123"
print(number.isalpha())  # 输出: False

在上面的示例中,word是一个仅由字母组成的字符串,因此isalpha()返回True。而在sentence中包含空格字符和非字母字符,所以isalpha()返回False。对于number,它包含数字字符,所以isalpha()同样返回False。

eval()函数

str.eval()函数是Python中的一个字符串方法,用于在字符串中执行并计算包含数学表达式的字符串。这个函数在Python 3.4及以上版本中可用。

eval()函数会将包含在字符串中的表达式作为参数进行计算,并返回计算结果。

下面是eval()函数的一般使用方式:

result = eval(expression)

在这个例子中,expression是一个包含数学表达式的字符串。eval()函数会对这个表达式进行求值,并将计算结果赋值给变量result

举个例子,让我们计算一个简单的数学表达式:

expression = "2 + 3 * 4"
result = eval(expression)
print(result)

运行这个程序后,它会计算2 + 3 * 4的结果,并将结果打印出来。输出将会是14

需要注意的是,eval()函数会执行任何包含在字符串中的表达式,包括可以引起安全性问题的代码。因此,在使用eval()函数时要谨慎,确保只对可信的表达式进行求值。

list()函数

在Python中,list()是一个内置函数,用于将其他可迭代对象(如字符串、元组、集合等)转换为列表。

下面是一些list()函数的示例用法:

  1. 将字符串转换为列表:
string = "Hello"
list_string = list(string)
print(list_string)  # 输出:['H', 'e', 'l', 'l', 'o']
  1. 将元组转换为列表:
tuple_values = (1, 2, 3, 4, 5)
list_values = list(tuple_values)
print(list_values)  # 输出:[1, 2, 3, 4, 5]
  1. 将集合转换为列表:
set_values = {1, 2, 3, 4, 5}
list_values = list(set_values)
print(list_values)  # 输出:[1, 2, 3, 4, 5]
  1. 将字典的键转换为列表:
dictionary = {'name': 'Alice', 'age': 25, 'location': 'New York'}
list_keys = list(dictionary.keys())
print(list_keys)  # 输出:['name', 'age', 'location']

需要注意的是,list()函数只能转换支持迭代的对象为列表,不适用于像整数、浮点数等不可迭代的数据类型。

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值