从 Python 中的字符串中删除最后一个单词

从 Python 中的字符串中删除最后一个单词

Remove the last word from a String in Python

从字符串中删除最后一个单词:

  1. 使用该str.rsplit()方法将字符串从右侧拆分一次空格。
  2. 访问第一个列表项。
  3. 第一个列表项存储最后一个单词之前的字符串部分。
主程序
my_str = 'one two three four five' # ✅ Remove last word from string (using str.rsplit()) new_str = my_str.rsplit(' ', 1)[0] print(new_str) # 👉️ 'one two three four' # -------------------------------- # ✅ Remove last word from string (using str.rindex()) new_str = my_str[:my_str.rindex(' ')] print(new_str) # 👉️ 'one two three four'

第一个示例使用str.rsplit()方法从字符串中删除最后一个单词。

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

主程序
my_str = 'one two three four five' # 👇️ ['one two three four', 'five'] print(my_str.rsplit(' ', 1))

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

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

除了从右边分裂,rsplit()表现得像split().

就其整体而言,该示例将字符串在空格上从右侧拆分一次,并返回第一个列表项。

主程序
my_str = 'one two three four five' new_str = my_str.rsplit(' ', 1)[0] print(new_str) # 👉️ 'one two three four'

如果字符串包含单个单词或为空,此方法也适用。

主程序
my_str = 'one' # 👇️ ['one'] print(my_str.rsplit(' ', 1)) new_str = my_str.rsplit(' ', 1)[0] print(new_str) # 👉️ 'one'
如果在字符串中找不到提供的分隔符,则该方法返回一个包含单个字符串的列表。 str.rsplit()

在这种情况下,我们访问索引处的列表0并返回整个字符串。

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

使用字符串切片从字符串中删除最后一个单词

从字符串中删除最后一个单词:

  1. 使用该str.rindex()方法获取字符串中最后一个空格的索引。
  2. 使用字符串切片获取字符串的一部分,直到最后一个空格的索引。
  3. 新字符串将不包含原始字符串的最后一个单词。
主程序
my_str = 'one two three four five' new_str = my_str[:my_str.rindex(' ')] print(new_str) # 👉️ 'one two three four'

我们使用该str.rindex()方法获取字符串中最后一个单词的索引。

str.rindex
方法返回字符串中找到提供的子字符串的最高索引

主程序
my_str = 'one two three four five' print(my_str.rindex(' ')) # 👉️ 18

ValueError当在字符串中找不到提供的子字符串时,该方法将引发。

主程序
my_str = 'one' # ⛔️ ValueError: substring not found print(my_str.rindex(' '))
str.rindex()方法与 非常相似,但它会引发,而不是在字符串中不存在子字符串时返回。 str.rfind()ValueError-1

try/except如果您需要以任何方式处理错误,您可以使用语句。

主程序
my_str = 'one' try: new_str = my_str[:my_str.rindex(' ')] print(new_str) except ValueError: # 👇️ this runs pass
示例中的字符串不包含任何空格,因此引发 a 然后由块处理。 ValueError except

字符串切片my_str[:my_str.rindex(' ')]选择字符串的最后一个单词部分。

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

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

如果start未指定索引值,我们将从字符串的开头开始。

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

发表评论