使用python搜索字符串并在存在另一个字符串时执行某些操作

2024-09-28 22:39:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个搜索文件的python脚本:

这是输入文本文件的示例:

String A 1
String B 1
String B 2
String B 3
String A 2
String B 4

它在字符串a中存储一个数值,然后对字符串B中每一段的存在进行处理,其中每一段都是不同的数字

y=0
while y < len(InFileStr):
    if "String A" in InFileStr[y]:
        StringA = int(InFileStr[y].split("")[2])
    elif "String B" in InFileStr[y]):
        print "String B" + int(InFileStr[y].split("")[2])"\n"
    y+=1

这“应该”产生:

String B 1
String B 2
String B 3
String B 4

其中StringA=2,因为它被覆盖了

但是,我不知道如何打印

String B 1
String B 4

Tags: 文件字符串in脚本示例stringlen数字
2条回答

只是想解释一下你要找的东西,似乎你只是想把最接近的A字串和B字串配对。在这种情况下,您只需要一个变量来跟踪最后一个字符串,这样您就知道可以在B字符串上执行。如果是这种情况,下面的代码应该很适合您。你知道吗

lastLineStraingA = False

for line in infile.readlines():
    if "StringA" in line:
        lastLineStringA = True
        storeValueInLine(line)
        continue
    elif ("StringB" in line) and (True == lastLineStringA):
        process(line)

    lastLineStringA = False

看看这对你有没有帮助

while y < len(InFileStr):
    if "String A" in InFileStr[y]:
        flag = True    
        storevalueInLine()
    elif "String B" in InFileStr[y]):
        if flag:
            process(StringB)
            flag = False
    y+=1

相关问题 更多 >