如何在python中找到字符串中的第一个字符?我使用了find()和index()但它们只找到一个字符。如何从我想要搜索的几个字符中找到单个字符的第一个位置?
所以我想在输入的字符串中找到第一个运算符(在4个算术运算符中)的位置,否则它应该返回-1。
很抱歉,如果这是一个非常愚蠢的问题,但我在过去几天一直在搜索和尝试多个选项。我也是python的初学者。
我试过这个,但我知道错了:
>>> str1 ='12-23+23*12/12'
>>> str1.find('+') or str1.find('-') or str1.find('*') or str1.find('/')
这将返回显示为+运算符的第一个运算符。 另外,我试过了
for x in str1:
if (x=='+' or x=='-' or x=='*' or x=='/'):
print(str1[x])
我知道这是错的。 我是初学者,我正在努力学习我已经学过的暑期课程。所以我对这个话题知之甚少。
答案 0 :(得分:-1)
str1 ='12-23+23*12/12+65'
while(1):
if('+' not in str2): #Taking '+' as an example
break;
int found = str1.find(+)
print(found)
str2 = str1.replace('+','',1)
#str2 = str1[:found]+str1[found+1:]
还有另一种方法可以完成我在代码最后一行中所做的工作。我在上面的评论中添加了它。
str2 = str1[:found]+str1[found+1:]
答案 1 :(得分:-2)
你可以做以下的事情:
validInput = set(['+','-','*','/'])
checkString = '12-23+23*12*12'
def checkInput(input):
if input not in validInput:
raise Exception
return input
def findSign(sign,string):
sign = checkInput(sign)
if sign in string:
return string.find(sign)
return -1
print(findSign('/',checkString))