如何在Robot Framework中删除字符串末尾的空格?
解决Robot Framework移除字符串末尾单个空格的问题
你原来用Remove String的方法行不通,因为这个关键字会移除字符串中所有匹配的字符,不仅会删掉末尾空格,连中间的空格也会被去掉,完全不符合你的需求。
下面给你两种精准解决的方法:
方法一:正则表达式替换(推荐)
用Replace String配合正则,只匹配字符串末尾的单个空格进行替换,不会影响中间的空格。代码如下:
${desired_text} = Replace String ${desired_text} \s$ ${EMPTY} regex=True
\s$是正则表达式:\s匹配单个空格,$表示匹配字符串的末尾位置,确保只替换最后一个空格regex=True开启正则匹配模式,否则会把\s$当成普通字符串处理
如果要严格匹配单个空格(避免末尾有多个空格时全部删掉),可以把正则改成 (?=$),专门匹配末尾的单个空格。
方法二:长度截取(需判断末尾是否有空格)
如果确定字符串末尾只有一个空格,或者需要先判断再处理,可以用长度截取的方式:
# 先判断字符串是否以空格结尾 ${has_trailing_space} = Ends With ${desired_text} ${SPACE} # 只有当末尾有空格时,才截取掉最后一个字符 Run Keyword If ${has_trailing_space} ${desired_text} = Get Substring ${desired_text} 0 ${{len(desired_text) - 1}}
这种方法更稳妥,不会在字符串末尾没有空格时误删最后一个字符。
内容的提问来源于stack exchange,提问作者Diego Miranda
相关产品推荐
相关产品推荐

