Python中的字符串操作

在python中,有一个称为string的标准库。在字符串模块中,存在与字符串相关的不同常量,方法和类。

要使用这些模块,我们需要在代码中导入字符串模块

import string

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

序号将字符串常量和值放入其中
1string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz
'
2string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ
'
3string.ascii_letters
asci_lowwecase和ascii_uppercase'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'的串联
4string.digits'0123456789
'
5string.hexdigits'0123456789abcdefABCDEF
'
6string.octdigits'01234567
'
7string.punctuation
'!“#$%&\'()* +,-。/ :; <=>?@ [\\] ^ _`{|}〜'
8string.printable
所有可打印的ASCII字符。它是asci_letters,标点符号,数字和空格的集合。'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