拆分字符串并获取Python中的最后一个元素

使用 str.rsplit() 方法并将 maxsplit 设置为 1 来拆分字符串并获取最后一个元素。 rsplit() 方法从右边开始拆分,当 maxsplit 设置为 1 时,只会执行一次拆分。

my_str = 'one,two,three,four'

last = my_str.rsplit(',', 1)[-1]

print(last)  # ?️ 'four'

我们使用 rsplit() 方法从右边拆分字符串。

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

my_str = 'one two three'

print(my_str.rsplit(' '))  # ?️ ['one', 'two', 'three']
print(my_str.rsplit(' ', 1))  # ?️ ['one two', 'three']

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

  • separator 在每次出现分隔符时将字符串拆分为子字符串
  • maxsplit 最多做maxsplit的分裂,最右边的(可选)

除了从右侧拆分外,rsplit() 的行为类似于 split()。

当 maxsplit 参数设置为 1 时,最多进行 1 次拆分。

最后一步是通过访问索引 -1 处的列表项来访问列表中的最后一个元素。

my_str = 'one,two,three,four'

last = my_str.rsplit(',', 1)[-1]

print(last)  # ?️ 'four'

我们也可以以类似的方式使用 str.split() 方法。

my_str = 'one-two-three-four'

last = my_str.split('-')[-1]

print(last)  # ?️ 'four'

如果我们的字符串以特定分隔符结尾,我们可能会得到令人困惑的结果。

my_str = 'one-two-three-four-'

last = my_str.rsplit('-', 1)[-1]

# ?️ ['one-two-three-four', '']
print(my_str.rsplit('-', 1))

print(last)  # ?️ ""

我们可以使用 str.strip() 方法删除前导或尾随分隔符。

my_str = 'one-two-three-four-'

last = my_str.strip('-').rsplit('-', 1)[-1]

print(last)  # ?️ "four"

在调用 rsplit() 方法之前,我们使用 str.strip() 方法从字符串中删除任何前导或尾随连字符。