机械手框架字符串格式

时间:2020-10-01 09:12:33

标签: automation automated-tests robotframework

如何制作如下的字符串格式:

${original} = MZ**77050000*******228  
${desired} =  MZXX 7705 0000 XXXX XXXX 28

我设法将*替换为X,并按如下所示添加空格,但无法将最后3个int格式化为X:

${rep_temp} =  Replace String  ${original}    *   X

FOR  ${i}  IN  4  8  12  16  20  22
            ${y} =   Evaluate    ${i} - 4
            ${temp} =       Get Substring     ${rep_temp}    ${y}    ${i}
            ${new_temp} =  Set Variable      ${new_temp} ${temp}
            ${new_temp} =  Strip String      ${new_temp}
            log to console     new_temp-->${new_temp}
        END

1 个答案:

答案 0 :(得分:2)

我将使用String库中的Replace String Using Regexp关键字。我不知道原始字符串的确切条件,但是假设有from pyspark.sql.functions import col, when df.select(*(count(when(col(c).isNull(), c)).alias(c) for c in df.columns)).show() ,所以7 *******后跟3位数字,您想将3的第1位数字转换为* ,然后转到*

您可以这样做:

X

您必须在机械手文件的正则表达式中使用双转义,并且还必须转义*** Settings *** Library String *** Variables *** ${original} MZ**77050000*******228 *** Test Cases *** Test Replace ${desired}= Replace String Using Regexp ${original} \\*\{7\}\\d ******** ${desired}= Replace String Using Regexp ${desired} \\* X # add the spaces {,因为它们是Robot Framework的特殊字符。因此,此}与此\\*\{7\}\\d等效,并且将匹配7个\*{7}\d,后跟一个数字。

这将是输出,您必须添加空格并完成。

enter image description here