在另一个变量中搜索特定字符串

2024-09-29 23:21:21 发布

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

我有两个变量Stext
text是一个常量变量,我想搜索text中可用的与S中特定字段匹配的值

例如,在text变量中,如果该值在:53A:或:54A:字段中可用,则我有BUSI20XXX, 然后我需要打印该值。(需要输入为bus20xxx)

但不一定要始终有字段:53A:或:54A:如果有,则需要检查,否则无需打印任何内容

s = '''
:20:name
:21A:Address
:22B:phone
:53A:/653223
BUSI20XXXX
:54A:/653223
JURA30XXX
:57A:/256789422254
TEST VALUE
:59B:/REST_MA
LINE1
:59C:TEST
'''

text='''BUSI20XXXX'''

if ':53A:' in s:
    a, b = s[s.index(':53A:') - 1 :].strip().split("\n")[:2]
    a = a.split(':')[2]
    print("value of A:" + a[1:7])
    if b.startswith(":"):
        print("value of B: ''")
    else:
        print("value of B:" + b)
else:
    print('not found')

if b in  text:
  print('match')
  else 
  print('no match')

错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.7/py_compile.py", line 147, in compile
    raise py_exc
py_compile.PyCompileError:   File "./prog.py", line 31
    else
       ^
SyntaxError: invalid syntax

预期产出:

如果BUSI20XXX在:53A:或:54A:中可用,则BUSI20XXX应存储在另一个变量中并打印


Tags: oftextinpytestifvalueline
1条回答
网友
1楼 · 发布于 2024-09-29 23:21:21

代码的最后一行中缺少:

if ':53A:' in s:
    a, b = s[s.index(':53A:') - 1 :].strip().split("\n")[:2]
    a = a.split(':')[2]
    print("value of A:" + a[1:7])
    if b.startswith(":"):
        print("value of B: ''")
    else:
        print("value of B:" + b)
else:
    print('not found')

if b in  text:
    print('match')
else:
    print('no match')

相关问题 更多 >

    热门问题