You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework中如何拆分字符串后提取子串以获取动态文本内的指定数字

报错原因

你遇到的报错是因为第三行赋值操作缺少关键字,Robot Framework会将每行第一个非赋值语法的内容识别为待执行的关键字,你直接写${refNumber} ${realNumber}[1]时,框架无法识别这是赋值操作,会把${realNumber}[1]当做关键字检索,因此抛出找不到关键字的错误。

方案1:修复原有拆分逻辑

如果要沿用Split String的思路,补全赋值关键字即可,正确写法如下:

# 先按no拆分字符串
@{realNumber} =  Split String    ${number}   no
# 用Set Variable关键字取拆分后的第二部分
${temp_str} =  Set Variable    ${realNumber}[1]
# 截取前10位数字(索引左闭右开,0到9对应前10个字符)
${refNumber} =  Get Substring    ${temp_str}    0   9
Log To Console    ${refNumber}
方案2:更适配动态文本的正则提取法

对于内容不固定的文本,用正则匹配的兼容性更强,只要目标数字的特征是紧跟在no之后的连续数字,就能精准提取,不受前后文本变化影响:

  1. 首先确认你已经导入了String库:在测试用例文件的*** Settings ***区块添加Library String
  2. 提取代码如下:
# 匹配no之后的连续数字,取第一个捕获组的结果
${match_list} =  Get Regexp Matches    ${number}    no(\\d+)    1
# 取匹配到的第一个结果即为目标数字
${refNumber} =  Set Variable    ${match_list}[0]
Log To Console    ${refNumber}

内容的提问来源于stack exchange,提问作者Rashmi S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 10:30:05