1. 引言
在Python中,字符串String是常用的数据类型之一,本文就字符串中相关常见的函数和操作进行汇总,方便大家查漏补缺。 闲话少说,我们直接开始吧
2. 计算字符串长度
一般来说字符串的长度指的是字符串中所包含的字符的数量。如果我们需要得到字符串的长度,我们一般使用内置的函数len,如下所示:
fruit = "apple"print(len(fruit))
3. 计算字符串中子串数目
一般来说,我们也可以使用函数count()来计算字符串中相应子串的数目,如下所示:
string = "aaaabbbcc"print(string.count("a")) # 4, as "a" appears 4 times
print(string.count("b")) # 3, as "b" appears 3 times
print(string.count("c")) # 2
print(string.count("z")) # 0
print(string.count("aa")) # 2
4. 字符串中查找子串
4.1 Index函数
一般来说,我们使用函数index来获取子串在字符串中的索引位置,样例如下:
string = "abcdefg"print(string.index("a")) # 0
print(string.index("b")) # 1
print(string.index("c")) # 2
print(string.index("z")) # error
需要明确的是函数index的输入参数为需要查找的子串,它遍历整个字符串来寻找是否包含相应的子串,如果可以找到,就返回该子串首次出现的位置。如果不存在,则将触发以下错误:
ValueError: substring not found4.2 find函数
函数find的功能和函数index的功能类似,不同点在于如果子串不存在,函数find不会触发错误而是返回-1,举例如下:
string = "abcdefg"print(string.find("a")) # 0
print(string.find("b")) # 1
print(string.find("c")) # 2
print(string.find("z")) # -1
4.3 rfind函数
函数rfind功能和find类似,但是该函数返回的是最后出现子串的位置索引而不是首次出现的位置索引。
举例如下:
string = "abcabc"print(string.rfind("a")) # 3 -> index of last-found "a"
5. 删除字符串中的空白字符
这里空白字符主要包括以下三种:
- ' ' -> 空格字符
- ‘\n’ -> 换行字符
- ‘\t’ -> 水平制表符
5.1 strip函数
函数strip()主要用于删除字符串中左右两端的上述三种空白字符,举例如下:
string = " \n\t apple \n\t\n "print(string.strip()) # "apple"
5.2 lstrip函数
函数lstrip()主要用于删除字符串中左端的上述三种空白字符,举例如下:
string = " \n\t apple \n\t\n "print(string.lstrip()) # "apple \n\t\n "
5.3 rstrip函数
同时,函数rstrip()主要用于删除字符串中右端的上述三种空白字符,举例如下:
string = " \n\t apple \n\t\n "print(string.rstrip()) # " \n\t apple"
6. 使用特定字符分割字符串
函数split()主要用于使用空格字符将字符串拆分成小的字符串列表,举例如下:
string = "apple orange pear"print(string.split()) # ["apple", "orange", "pear"]
一般来说,函数split()默认使用空格来将字符串进行拆分,同时如果我们传入字符串参数,那么函数split()将根据传入的内容来分割字符串,举例如下:
string = "apple,orange,pear"print(string.split(",")) # ["apple", "orange", "pear"]
7. 使用特定字符拼接字符串
函数join主要用于传入字符串列表,并对字符串列表中所有的字符串通过分隔符进行拼接,举例如下:
list1 = ["apple", "orange", "pear"]string1 = " ".join(list1) # "apple orange pear"
string2 = ",".join(list1) # "apple,orange,pear"
string3 = "!!!".join(list1) # "apple!!!orange!!!pear"
8. 处理字符串中的大小写
8.1 upper函数
函数upper主要用于将字符串中的所有小写字符转化为大写字符,如下所示:
string = "apple"string = string.upper() # "APPLE"
8.2 lower函数
函数lower主要用于将字符串中的所有大写字符转化为小写字符,如下所示:
string = "APPLE"string = string.lower() # "apple"
8.3 isupper函数
函数isupper主要用于判断字符串中所有字符均为大写字符时返回True否则返回False,举例所示:
string1 = "APPLE"string2 = "Apple"
print(string1.isupper()) # True
print(string2.isupper()) # False
8.4 islower函数
函数islower主要用于判断字符串中所有字符均为小写字符时返回True否则返回False,举例所示:
string1 = "apple"string2 = "Apple"
print(string1.islower()) # True
print(string2.islower()) # False
8.5 title函数
函数title主要用于将字符串中每个单词的首个字母转化为大写,举例如下:
sentence = "my name is bob"print(sentence.title()) # My Name Is Bob"
8.6 swapcase函数
函数swapcase主要用于将字符串中每个字符的大写字符转化为小写,同时将其中的小写字符转化为大写,非字母字符保持不变,举例如下:
string = "abCDefG"print(string.swapcase()) # "ABcdEFg"
9. 判断字符串是否仅包含某些字符
9.1 isalnum函数
函数isalnum主要用于判断字符串中每个字符是否都是数字或者字母,举例如下:
string1 = "abc123"string2 = "abc123!"
print(string1.isalnum()) # True
print(string2.isalnum()) # False
上述字符串string2返回False的原因主要是由于字符!。
9.2 isalpha函数
函数isalpha主要用于判断字符串中每个字符是否都是字母,如果存在一个非字母的字符则将返回False,举例如下:
string1 = "abc"string2 = "abc123"
print(string1.isalpha()) # True
print(string2.isalpha()) # False
9.3 isdigit函数
函数isdigit主要用于判断字符串中每个字符是否都是数字,如果存在一个非数字的字符则将返回False,举例如下:
string1 = "123"string2 = "123a"
print(string1.isdigit()) # True
print(string2.isdigit()) # False
9.4 isspace函数
函数isspace主要用于判断字符串中每个字符是否都是空白字符,如果存在一个非空白字符则将返回False,举例如下:
string1 = " \n\n\t\t "string1 = " \n\n\t\t a"
print(string1.isspace()) # True
print(string2.isspace()) # False
10. 总结
本文重点介绍了Python中字符串string中常见的操作和相应的应用场景,并给出了相关代码示例。
您学废了嘛?