刚开始使用python并遇到了查找和匹配问题。 代码如下
for line in f:
if c in line:
catch = line.split(' ', 1)[1]
return catch
f.close()
所以如果我的行有" TRA trace"当我输入TR时,它返回TRA的值而不是TR。在if条件中是否可以执行任何操作以确定输入字符串。谢谢。
答案 0 :(得分:1)
你可以这样做:
for line in f:
catch = line.split(' ', 1)
if c in catch: # checks if one of the tokens is c
return catch
# Or
if c == catch[0]: # checks if the first token is c
return catch
答案 1 :(得分:0)
对于正则表达式,你可以这样做。
import re
m=re.search('('+c+')',line)
if m.groups()
return m.group(1)
答案 2 :(得分:0)
您可以使用正则表达式匹配确切的输入字符串
的 EX:强>
import re
def checkStr(word, line):
result = re.search(r'\b'+ word + r'\b', line)
if result:
print "Found!"
print result.group()
else:
print "No Match!!!"
word = 'TR'
line = "TRA trace"
checkStr(word, line) #No Match!!!
word = 'TR'
line = "TR trace"
checkStr(word, line) #Found! TR