迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

如何在 Python 中截断字符串

作者:迹忆客 最近更新:2022/09/19 浏览次数:

使用字符串切片来截断字符串,例如 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...

python 截断字符串

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

字符串切片的语法是 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)) 

上述代码运行结果如下

python 分割字符串

该方法采用以下 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 次。

本站文章均为原创或翻译,转载请发邮件至 1244347461@qq.com 进行申请,未经许可,禁止转载。经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

教程更新

热门标签

扫码一下
查看教程更方便