盘点Python字符串常见的16种操作方法

Python字符串常见的16种操作方法

Python中字符串是不可变的序列,是非常基础且重要的数据类型。在Python中,字符串具有十分丰富的操作方法,这些方法可以用来操作字符串中的字符、字节和子字符串,使得处理字符串变得更加高效和简便。

1. 字符串创建

在Python中,字符串可以使用单引号、双引号或三引号来创建:

str1 = 'Hello World!' # 使用单引号创建

str2 = "Hello World!" # 使用双引号创建

str3 = '''Hello

World!''' # 使用三引号创建

单引号和双引号用法相同,而三引号可以用来创建多行字符串。

2. 字符串长度

使用Python的内置函数len()可以获得字符串的长度:

s = "Hello World"

print(len(s)) # 11

通过字符串的长度可以初步了解字符串的结构,这是处理字符串时的重要信息之一。

3. 字符串索引和切片

字符串和其他序列一样,支持索引和切片操作:

- 索引:索引是一种获取字符串中字符的方法,通过索引值可以得到字符串中对应位置的字符。Python中的字符串索引从0开始:

s = "Hello World"

print(s[0]) # H

print(s[-1]) # d

- 切片:切片是通过指定切片的起始位置和结束位置来获取子字符串的方法,有时称为字符串切片。使用冒号:分割开起始位置和结束位置,其中[:n]表示从开始位置到第n个字符,[m:]表示从第m个字符到末尾,[m:n]表示从第m个字符到第n个字符:

s = "Hello World"

print(s[:5]) # Hello

print(s[6:]) # World

print(s[0:5]) # Hello

索引和切片是字符串最基本、最重要的操作,通常在字符串的其他操作中也会大量使用到。

4. 字符串拼接

使用加号+可以将两个字符串拼接成一个字符串:

str1 = "Hello"

str2 = "World"

str3 = str1 + " " + str2

print(str3) # Hello World

字符串拼接是在实际开发中被广泛使用的一种操作方式。

5. 字符串重复

使用乘号*可以将一个字符串重复n遍,构造一个新的字符串:

s = "Hello World!"

print(s * 2) # Hello World!Hello World!

print(s * 3) # Hello World!Hello World!Hello World!

6. 字符串查找

在Python中,查找子字符串第一次出现的位置可以使用find()index()函数,这两个函数的区别在于,当字符串中不存在查找的子字符串时,find()函数返回-1,而index()函数则会抛出异常:

s = "Hello World"

print(s.find("W")) # 6

print(s.index("W")) # 6

print(s.find("Z")) # -1

#print(s.index("Z")) # ValueError: substring not found

如果需要查找最后一次出现的位置,则使用rfind()rindex()函数。

7. 字符串替换

使用replace()函数可以将字符串中指定的子字符串替换为另一个字符串,并返回新的替换后的字符串:

s = "Hello World"

s_new = s.replace("World", "Python")

print(s_new) # Hello Python

在处理某些文本数据时,字符串的替换是非常常见的操作。

8. 字符串分割

使用split()函数可以将字符串按照指定的分隔符拆分成一个列表:

s = "Hello World"

s_list = s.split(" ")

print(s_list) # ['Hello', 'World']

字符串分割十分常用,例如对日志文件进行处理或者对一段描述性文本分段等。

9. 字符串连接

使用join()函数可以将一个字符串列表连接成一个新的字符串:

s_list = ['Hello', 'World']

s_new = " ".join(s_list)

print(s_new) # Hello World

10. 字符串大小写转换

使用upper()函数可以将字符串全部转换为大写形式;使用lower()函数可以将字符串全部转换为小写形式:

s = "Hello World"

s_upper = s.upper()

s_lower = s.lower()

print(s_upper) # HELLO WORLD

print(s_lower) # hello world

11. 去除字符串空格

在处理字符串时,有时候需要将字符串的开头和结尾的空格去除掉,这可以使用strip()函数实现:

s = " Hello World! "

s_new = s.strip()

print(s_new) # Hello World!

12. 字符串判断

使用如下函数可以判断字符串是否具有一定的特征:

isalpha():判断字符串是否全部由字母组成。

isdigit():判断字符串是否全部由数字组成。

isalnum():判断字符串是否由字母和数字组成。

isspace():判断字符串是否全部由空格字符组成。

startswith():判断字符串是否以指定的前缀开始。

endswith():判断字符串是否以指定的后缀结束。

s1 = "HelloWorld"

s2 = "12345"

s3 = "Hello123"

s4 = " "

print(s1.isalpha()) # True

print(s2.isdigit()) # True

print(s3.isalnum()) # True

print(s4.isspace()) # True

print(s1.startswith("H")) # True

print(s1.endswith("d")) # True

13. 字符串格式化

使用字符串格式化,可以将可变的数据插入到字符串中。Python提供了多种字符串格式化的方式,其中最常用的方式是通过%实现:

s = "My name is %s, I am %d years old."

print(s % ('Tom', 20))

# My name is Tom, I am 20 years old.

在上面的例子中,字符串"%s"表示插入一个字符串,"%d"表示插入一个整数。在字符串后面的%后,跟着元组或字典,用以指定要插入的数据。

字符串格式化在Python中使用频率极高,是处理文本数据不可缺少的一种操作方式。

14. 字符串补齐

通常在处理一些文本时,需要对文本的显示作一些调整,将文本按照一定的宽度或对齐方式去展示。Python提供了多种补齐字符串的方式,其中ljust()rjust()可以用来左对齐和右对齐字符串;center()可以将字符串居中。

s = "Hello"

print(s.ljust(10, "-")) # Hello-----

print(s.rjust(10, "-")) # -----Hello

print(s.center(10, "-")) # --Hello---

15. 格式化输出

常常需要将数字格式化后输出,Python提供了多种数值格式化的方式:

%d:整数输出。

%f:浮点数输出。

%e:科学计数法输出。

%g:根据数值大小动态选择%f%e

num = 3.1415926

print("pi is %.2f" % num) # pi is 3.14

print("pi is %e" % num) # pi is 3.141593e+00

print("pi is %g" % num) # pi is 3.14159

16. 检测字符串是否包含特定的子字符串

通常在处理字符串时,需要判断字符串中是否包含特定的子字符串。使用in操作符可以检测一个字符串是否是另一个字符串的子串:

s = "Hello World"

if "Hello" in s:

print("字符串中包含Hello")

else:

print("字符串中不包含Hello")

总结

Python中字符串是非常基础的数据类型,在Python的操作中也有非常多的字符串操作函数,例如strip(), format(), split()等等。通过使用这些函数,可以高效地操作字符串,进行各种文本处理工作。

后端开发标签