如何在 Python 中截断字符串
使用字符串切片来截断字符串,例如 result = my_str[:5]
。 切片返回字符串的前 N 个字符。 如果字符串比切片长,省略号可以添加到子字符串的末尾。
my_str = 'jiyik.com'
# ✅ 将字符串截断为 5 个字符的长度
result = my_str[:5]
print(result) # ?️ jiyik
# ✅ 用省略号将字符串截断为 5 个字符的长度
result = my_str[:5] + '...' if len(my_str) > 5 else my_str
print(result) # ?️ jiyik...
我们使用字符串切片来截断字符串。
字符串切片的语法是 my_str[start:stop:step]
。
注意
:start
索引是包含的,而stop
索引是排除的(最多,但不包括)。
Python 索引是从零开始的,因此字符串中的第一个字符的索引为 0,最后一个字符的索引为 -1 或 len(my_str) – 1。
stop
索引是排除的(最多,但不包括),因此切片返回字符串的前 N 个字符。
my_str = 'jiyik.com'
result = my_str[:5]
print(result) # ?️ jiyik
该示例返回一个包含字符串前 5 个字符的子字符串。
如果字符串比切片长,我们可以使用三元运算符添加省略号。
my_str = 'jiyik.com'
result = my_str[:5] + '...' if len(my_str) > 5 else my_str
print(result) # ?️ jiyik...
如果满足条件,则返回 if
语句左侧的表达式,否则按原样返回字符串。
或者,我们可以使用格式化的字符串文字。
使用格式化的字符串文字截断字符串
使用格式化的字符串文字截断字符串,例如 result = f'{my_str:.5}'
。 我们可以使用 f 字符串中的表达式将字符串的长度限制为给定的字符数。
my_str = 'jiyik.com'
result = f'{my_str:.5}'
print(result) # ?️ jiyik
result = f'{my_str:.5}{"..." if len(my_str) > 5 else ""}'
print(result) # ?️ jiyik...
格式化字符串文字(f-strings)
让我们通过在字符串前面加上 f 来在字符串中包含表达式。
var1 = 'jiyik'
var2 = '.com'
result = f'{var1}{var2}'
print(result) # ?️ jiyik.com
确保将表达式包裹在花括号 – {expression}
中。
格式化的字符串文字还使我们能够在表达式块中使用格式规范迷你语言。
点号 .
后面的数字是字符串的最大长度。
该示例将字符串格式化为最多 5 个字符。
如果字符串比切片长,我们可以使用三元运算符添加省略号。
my_str = 'jiyik.com'
result = f'{my_str:.5}{"..." if len(my_str) > 5 else ""}'
print(result) # ?️ jiyik...
如果我们需要从字符串中删除最后一个单词,请使用 str.rsplit()
方法。
my_str = 'jiyik com'
# ✅ 从字符串中删除最后一个单词(使用 str.rsplit())
new_str = my_str.rsplit(' ', 1)[0]
print(new_str) # ?️ 'jiyik'
str.rsplit
方法使用提供的分隔符作为分隔符字符串返回字符串中的单词列表。
my_str = 'jiyik com'
print(my_str.rsplit(' '))
print(my_str.rsplit(' ', 1))
上述代码运行结果如下
该方法采用以下 2 个参数:
- separator 在每次出现分隔符时将字符串拆分为子字符串
- maxsplit 最多完成最大拆分,最右边的拆分(可选)
如果我们需要从字符串中删除最后 2 个单词,请将 maxsplit 参数设置为 2 并访问索引 0 处的列表项。
my_str = 'jiyik onmpw com'
# ?️ 从字符串中删除最后一个单词
result = my_str.rsplit(' ', 1)[0]
print(result) # ?️ jiyik onmpw
# ?️ 从字符串中删除最后 2 个单词
result = my_str.rsplit(' ', 2)[0]
print(result) # ?️ jiyik
maxsplit
参数可以设置为从右侧最多拆分字符串 N 次。