如果我有一个name = 'Peter Piper Picker'
并希望我的功能选择性地隔离'Picker',我该怎么办?我的意思并不像name[12:]
,而是在它取出名称末尾之前的最后一个空格并从那里开始子串的地方?我知道索引函数有两个额外的参数,但我不知道如何在这个设置中正确应用它们我在想name[' ', name.split(len(name.split()-1)), name[len(name)-1]]
。
答案 0 :(得分:5)
您可以使用<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:inputRichText id="inputRichText1"></xp:inputRichText>
</xp:view>
的{{3}}方法。
str
然后name = 'Peter Piper Picker'
# name.split() will return a list ['Peter', 'Piper', 'Picker'], we need its last element
ret = name.split()[-1]
为ret
。
答案 1 :(得分:4)
你也可以这样做:
name = 'Peter Piper Picker'
name.rsplit(" ",1)[1]
'Picker'
使用rsplit
时,您将获得以下输出:
name.rsplit(" ",1)
['Peter Piper', 'Picker']
<强>过程:强>
你正在从右边分裂,你使用“”分裂一次并获得第二个元素
<强>信息:强>
的更多信息答案 2 :(得分:3)
>>> name = 'Peter Piper Picker'
>>> a = name.split()
>>> a[len(a)-1]
'Picker'
答案 3 :(得分:1)
神秘的方式:
>>> name[[i for i, c in enumerate(name) if c == ' '][-1]+1:]
'Picker'
[i for i, c in enumerate(name) if c == ' ']
- 这将为您提供字符串中有空格(' '
)的所有索引[i for i, c in enumerate(name) if c == ' '][-1]
- 这将为您提供最后一个空格的索引[i for i, c in enumerate(name) if c == ' '][-1]+1
- 这个是您希望名称部分开始的位置最后,您将name
切片。