如何在给定字符串中找到特定字符?

时间:2014-09-21 10:02:50

标签: python python-2.7

import math

x = raw_input("Enter your address")

print ("The first number to the power of the second number in your address is", math.pow(

第二个完整的课程刚刚结束,我遇到了如何在字符串中找到特定事物的麻烦。 如果用户输入地址" 1234地址" 我需要在math.pow中放置什么,以便知道如何找到数字1和2?

课堂上唯一展示的是str.index(''),我只能用它来查找字符串中特定字符的位置。

我的作业即将到期,严重依赖于此,所以任何帮助都会受到赞赏。

编辑:要清除,我如何让python在地址中找到地址中的第一个和第二个数字?

3 个答案:

答案 0 :(得分:1)

import re
numbers = re.findall(r'\d+',x)
numbers[0][0:2]

您需要导入正则表达式。由于您不知道字符串中出现数字的顺序,因此它会更有用。之后,您需要找到字符串中的所有数字。 ' \ d +'将有助于获取字符串中的所有数字。然后你需要做的就是取第一个元素并从该字符串中取出前两个数字。

希望这有帮助。

答案 1 :(得分:1)

只需使用x.isdigit()查找数字并将其插入列表中即可。然后使用math.pow找到前两个的力量。

#!/usr/bin/python
import math

address = raw_input("Enter your address : ")
digits = []

for c in address:
    if c.isdigit():
        digits.append(c)

if len(digits) >= 2:
    print "The first number to the power of the second number in your address is : "
    print math.pow(float(digits[0]), float(digits[1]))
else:
    print "Your address contains less than 2 numbers"   

答案 2 :(得分:0)

由于字符串是Python中的迭代类型数据,您可以使用索引来访问字符串字符!像my_string[1]这样可以给你第二个角色!然后使用isdigit()函数,您可以检查它是否为数字!

演示:

>>> s='12erge'
>>> s[1]
'2'
>>> s[1].isdigit()
True
>>> s[4]
'g'
>>> s[4].isdigit()
False

并且对于字符串中的查找号码,您可以使用[regex][1]re.search()函数:

>>> import re
>>> s='my addres is thiss : whith this number 11243783'
>>> m=re.search(r'\d+',s)
>>> print m.group(0)
11243783
此代码中的

r'\d+'是一个正则表达式,匹配len大于0的所有数字,