使用字符串 replace() 从数据库查询结果中获取值会导致问题



我正在查询数据库并想验证我的输出。来自 DB 的结果以 -> (('ABC',),) 的方式出现,我想用字符串"ABC"验证它,但由于我的数据库输出中收到额外的字符,我无法

任何人都可以帮助我如何删除从数据库输出的额外字符吗?

我尝试使用评估功能:

Evaluate   '(('ABC',),)'.replace('(',' ')   

我需要的结果只是ABC。

不要这样做 - 将响应视为字符串,并尝试通过字符串替换来获取数据。

响应是一个对象 - 一个元组列表,它实际上看起来像这样:

[('ABC',),]

列表中的每个元组都是响应行;元组的每个成员都是该行中的一列。

要获取第一行的第一列,您只需解决它们(它们的索引从 0 开始):

${value}=    Set Variable    ${the response object}[0][0]

例如,如果查询返回 3 行,每行有 2 列:

[('ABC', 'DEF'), ('GHI', 'JKL'), ('MNO', 'PQR')]

,你会得到第 3 行的(索引:2)第二列(索引:1) - 字符串"PQR" - 带有这个:

${value}=    Set Variable    ${the response object}[2][1]

现在我希望你明白为什么使用字符串替换(在二维列表的字符串表示上)不是一个好主意。

最新更新