在 Python 中格式化限制其长度的字符串

使用格式化字符串文字来格式化字符串并限制其长度,例如 result = f'{my_str:5.5}’。 我们可以使用 f 字符串中的表达式将字符串的长度限制为给定的字符数。

my_str = 'zadmeifql'

# ✅ limit string length to 5 characters

result = f'{my_str:5.5}'
print(result)  # 👉️ 'zadme'


# 👇️ limit string length removing excess trailing characters
result = my_str[:5]
print(result)  # 👉️ 'zadme'

# 👇️ limit string length removing excess leading characters
result = my_str[-5:]
print(result)  # 👉️ 'eifql'

在 Python 中格式化限制其长度的字符串

第一个示例使用格式化的字符串文字来限制字符串的长度。

var1 = 'fql'
var2 = 'zadmei'

result = f'{var1}{var2}'
print(result)  # 👉️ fqlzadmei

确保将表达式包裹在花括号 – {expression} 中。

格式化的字符串文字还使我们能够在表达式块中使用格式规范迷你语言。

my_str = 'zadmeifql'

result = f'{my_str:5.5}'
print(result)  # 👉️ 'zadme'

冒号后面的数字是格式化字符串的宽度。

如有必要,字符串会在左侧填充空格。

my_str = 'b'


result = f'{my_str:5.5}'
print(repr(result))  # 👉️ 'b    '

如果我们不想在字符串较短时用空格填充,请删除冒号后面的数字。

my_str = 'zadmeifql'


result = f'{my_str:.5}'
print(result)  # 👉️ zadme

句点 . 后面的数字是字符串的最大长度。

该示例将字符串格式化为最多 5 个字符。

或者,我们可以使用字符串切片。

my_str = 'zadmeifql'


# 👇️ limit string length removing excess trailing characters
result = my_str[:5]
print(result)  # 👉️ 'zadme'

# 👇️ limit string length removing excess leading characters
result = my_str[-5:]
print(result)  # 👉️ 'eifql'

字符串切片的语法是 my_str[start:stop:step]。

Python 索引是从零开始的,因此字符串中的第一个字符的索引为 0,最后一个字符的索引为 -1 或 len(my_str) – 1。

如果只需要获取字符串的前 N 个字符,请指定 N 的停止索引。

my_str = 'zadmeifql'

result = my_str[:5]
print(result)  # 👉️ 'zadme'

stop 索引是独占的(最多,但不包括),因此切片仅包含字符串的前 5 个字符。

如果我们需要获取字符串的最后 N 个字符,请指定 -N 的起始索引。

my_str = 'fqlzadmei'

result = my_str[-5:]
print(result)  # 👉️ 'admei'

如果我们需要用空格填充字符串到固定长度,请使用 str.ljust 和 str.rjust() 方法。

my_str = 'b'

result = my_str[-3:].ljust(3)
print(repr(result))  # 👉️ 'b  '


result = my_str[-3:].rjust(3)
print(repr(result))  # 👉️ '  b'

从运行结果中我们可以看到,str.ljust() 方法使用提供的填充字符将字符串的末尾填充到指定的宽度。如果未指定填充字符,则用空格填充字符串。str.rjust() 方法使用提供的填充字符将字符串的开头填充到指定的宽度。