如何在 Python 中截断字符串

在 Python 中截断字符串

How to truncate a string in Python

使用字符串切片截断字符串,例如result = my_str[:5]. 切片返回字符串的前 N ​​个字符。如果字符串比切片长,则可以将省略号添加到子字符串的末尾。

主程序
my_str = 'bobbyhadz.com' # ✅ truncate string to length of 5 characters result = my_str[:5] print(result) # 👉️ bobby # ✅ truncate string to length of 5 characters with ellipsis result = my_str[:5] + '...' if len(my_str) > 5 else my_str print(result) # 👉️ bobby...

我们使用字符串切片来截断字符串。

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

索引是包含的start,而stop索引是排他的(最多,但不包括)。

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

索引是独占的stop(最多但不包括),因此切片返回字符串的前 N ​​个字符。

主程序
my_str = 'bobbyhadz.com' result = my_str[:5] print(result) # 👉️ bobby

该示例返回一个包含字符串前 5 个字符的子字符串。

如果字符串比切片长,则可以使用三元运算符添加省略号。

主程序
my_str = 'bobbyhadz.com' result = my_str[:5] + '...' if len(my_str) > 5 else my_str print(result) # 👉️ bobby...

如果满足条件,则返回语句左侧的表达式if,否则按原样返回字符串。

或者,您可以使用格式化的字符串文字。

使用格式化字符串文字截断字符串

使用格式化字符串文字来截断字符串,例如
result = f'{my_str:.5}'. 您可以在 f 字符串中使用表达式将字符串的长度限制为给定的字符数。

主程序
my_str = 'bobbyhadz.com' result = f'{my_str:.5}' print(result) # 👉️ bobby result = f'{my_str:.5}{"..." if len(my_str) > 5 else ""}' print(result) # 👉️ bobby...
格式化字符串文字 (f-strings) 让我们通过在字符串前加上f.
主程序
var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz

确保将表达式括在大括号 –{expression}中。

格式化字符串文字还使我们能够

在表达式块中使用
格式规范迷你语言。

主程序
my_str = 'bobbyhadz.com' result = f'{my_str:.5}' print(result) # 👉️ bobby

句点后的数字是字符串的最大大小。

该示例将字符串格式化为最大5字符数。

如果字符串比切片长,则可以使用三元运算符添加省略号。

主程序
my_str = 'bobbyhadz.com' result = f'{my_str:.5}{"..." if len(my_str) > 5 else ""}' print(result) # 👉️ bobby...

如果需要从字符串中删除最后一个单词,请使用str.rsplit()
方法。

主程序
my_str = 'bobby hadz com' # ✅ Remove last word from string (using str.rsplit()) new_str = my_str.rsplit(' ', 1)[0] print(new_str) # 👉️ 'bobby hadz'

str.rsplit
方法使用提供的分隔符作为分隔符字符串返回字符串中的单词列表

主程序
my_str = 'bobby hadz com' print(my_str.rsplit(' ')) # 👉️ ['bobby', 'hadz', 'com'] print(my_str.rsplit(' ', 1)) # 👉️ ['bobby hadz', 'com']

该方法采用以下 2 个参数:

姓名 描述
分隔器 在每次出现分隔符时将字符串拆分为子字符串
最大分裂 最多maxsplit完成拆分,最右边的(可选)

如果您需要从字符串中删除最后 2 个单词,请将maxsplit
参数设置为 2 并访问 index 处的列表项
0

主程序
my_str = 'bobby hadz com' # 👇️ remove last word from string result = my_str.rsplit(' ', 1)[0] print(result) # 👉️ bobby hadz # 👇️ remove last 2 words from string result = my_str.rsplit(' ', 2)[0] print(result) # 👉️ bobby

maxsplit参数可以设置为从右至多拆分字符串 N 次。

发表评论