Python 字符串操作


在 Python 中,有一个标准库,称为 **string**。在 string 模块中,提供了各种与字符串相关的常量、方法和类。

要使用这些模块,我们需要在代码中导入 **string 模块**。

import string

一些字符串常量及其对应值如下:

序号字符串常量及值
1string.ascii_lowercase
‘abcdefghijklmnopqrstuvwxyz’
2string.ascii_uppercase
‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’
3string.ascii_letters
ascii_lowercase 和 ascii_uppercase 的连接 ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’
4string.digits
‘0123456789’
5string.hexdigits
‘0123456789abcdefABCDEF’
6string.octdigits
‘01234567’
7string.punctuation
‘!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~’
8string.printable
所有可打印的 ASCII 字符。它是 ascii_letters、punctuation、digits 和 whitespace 的集合。‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ \t\n\r\x0b\x0c’
9string.whitespace
‘\t\n\r\x0b\x0c’

示例代码

在线演示

import string
print(string.hexdigits)
print(string.ascii_uppercase)
print(string.printable)

输出

0123456789abcdefABCDEF
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

字符串格式化

Python 中内置的字符串类通过 `format()` 方法支持不同的复杂变量替换和值格式化。

要格式化字符串,基本语法如下:

‘{} {}’.format(a, b)

变量 a 和 b 的值将被放置在用 ‘{}’ 包裹的位置。我们也可以在括号内提供位置参数。或者在括号内写入一些变量名也是有效的。

使用此格式化选项,我们还可以设置文本的填充。要在文本中添加填充,语法如下:

‘{: (character) > (width)}’.format(‘string’)

使用指定的 **字符**、**宽度** 值,使用 > 符号向右填充“字符串”。我们可以使用 < 向左填充,使用 ^ 设置到中间。

format() 方法还可以使用给定的长度截断字符串。语法如下:

 

‘{:.length}’.format(‘string’)

字符串将被截断到给定的长度。

示例代码

在线演示

print('The Name is {} and Roll {}'.format('Jhon', 40))
print('The values are {2}, {1}, {3}, {0}'.format(50, 70, 30, 15)) #Using positional parameter
print('Value 1: {val1}, value 2: {val2}'.format(val2 = 20, val1=10)) #using variable name

#Padding the strings
print('{: >{width}}'.format('Hello', width=20))
print('{:_^{width}}'.format('Hello', width=20)) #Place at the center. and pad with '_' character

#Truncate the string using given length
print('{:.5}'.format('Python Programming')) #Take only first 5 characters

输出


The Name is Jhon and Roll 40
The values are 30, 70, 15, 50
Value 1: 10, value 2: 20
Hello
_______Hello________
Pytho

字符串模板

字符串模板用于以更简单的方法替换字符串。模板支持使用 $ 字符进行替换。当找到 **$标识符** 时,它将用标识符的新值替换它。

要在字符串中使用模板,基本语法如下:

myStr = string.Template(“$a will be replaced”)
myStr.substitute(a = ‘XYZ’)

字符串中的 a 值将被字符串中的 'XYZ' 替换。我们可以使用字典来执行此类操作。

示例代码

my_template = string.Template("The value of A is $X and Value of B is $Y")
my_str = my_template.substitute(X = 'Python', Y='Programming')
print(my_str)

my_dict = {'key1' : 144, 'key2' : 169}
my_template2 = string.Template("The first one $key1 and second one $key2")
my_str2 = my_template2.substitute(my_dict)
print(my_str2)

输出

The value of A is Python and Value of B is Programming
The first one 144 and second one 169

更新于:2020-06-25

685 次浏览

启动你的 职业生涯

完成课程获得认证

开始学习
广告