Python检查字符串中的最后一个单词/数字?

时间:2013-11-12 21:53:16

标签: python string python-3.x

有没有办法让python检查/打印字符串中的最后一个单词/数字?

这是我到目前为止的一个例子:

x = input("Input what you want to do to your number and your number: ")
if word.startswith("Pi"):
    Pi_A = x * Pi # I need x to look at the number
    print (Pi_A)

我只需要查看最后一个单词/数字,这样我就可以做到这一点。

编辑(输入/输出):

输入:(“Pi 2”是用户输入的内容)

  

输入您想要对您的号码和号码做的事情:Pi 2

输出:(回答π* 2)

  

6.2 ...

4 个答案:

答案 0 :(得分:3)

最明显的解决方案是str.endswith

>>> "x * Pi".endswith("Pi")
True

但是,如果它不是一个单独的词,这也会返回true:

>>> "PiPi".endswith("Pi")
True

因此,如果您想要以空格分隔的字符串中的最后一个单词,则可以使用

>>> "x * Pi".split()[-1] == "Pi"
True
>>> "PiPi".split()[-1] == "Pi"
False

答案 1 :(得分:2)

您可以使用rsplit来获取最后一个字。然后检查最后一个单词是否以Pi

开头
word = text.rsplit(None, 1)[1]
if word.startswith("Pi"):
    print (x * Pi) # there is more this is just a example

答案 2 :(得分:2)

说你的字符串是“hello2014bye2013”​​:

以下代码应该完成这项工作:

word = "hello2014bye2013"
alist = list(word)
print (alist[-1])

如果你有很多单词和数字,那么这应该有效:

blabla = "hello 4 my 8 name 911 is 049 Python"
lastword= blabla.split()[-1]
print (blabla)

答案 3 :(得分:1)

这就是你要找的东西

import math
x = raw_input("Input action to be peformed on your number, followed by your number: ")
# Assume "Pi 2"  is entered
x = x.split()
action = x[0]
number = int(x[1])
if action.startswith("Pi"):
    print number * math.pi

执行

$ python j.py 
Input action to be peformed on your number, followed by your number: Pi 2
6.28318530718

建议:使用" raw_input"而不是"输入"保存引号(也让你为Python 3.0做好准备;)