s = 'myName.Country.myHeight'
required = s.split('.')[0]+'.'+s.split('.')[1]
print required
myName.Country
我怎样才能得到相同的'要求'字符串越来越短?
答案 0 :(得分:8)
像这样使用str.rpartition
s = 'myName.Country.myHeight'
print s.rpartition(".")[0]
# myName.Country
rpartition
返回一个三元素元组,
第一个元素是分隔符
然后是分隔符
和分隔符后的字符串
所以,在我们的例子中,
s = 'myName.Country.myHeight'
print s.rpartition(".")
# ('myName.Country', '.', 'myHeight')
我们只挑选了第一个元素。
注意:如果你想从左边做,而不是从右边做,我们有一个名为str.partition
的姐妹函数。
答案 1 :(得分:3)
您有几个选择。
print s.rsplit('.',1)[0]
print s[:s.rfind('.')]
print s.rpartition('.')[0]
答案 2 :(得分:1)
嗯,这对我来说似乎很好......但是我可以想到以下几种其他方式:
required = ".".join(s.split(".")[0:2]) // only one split
// using regular expressions
import re
required = re.sub(r"\.[^\.]$", "", s)
正则表达式仅在最后一个要分割的部分没有点时才有效。