使用regexp在Robot Framework中用星号替换除前两个和后两个字符以外的字符串字符

问题描述

在机器人框架中用于替换字符串字符的模式是什么,除了仅保留我的前两个字符和后两个字符,并且仅替换所有其他字符之外。

示例:

我的输入:RAHMAN / MD SANDID MSTR CHD

我的输出:RA ********************* HD

请对此提供帮助。

解决方法

您可以这样做:

def starify(string):
    if len(string) <= 4:
        return string
    head = string[:2]
    tail = string[-2:]
    middle = "*" * (len(string) - 4)
    return head + middle + tail

请注意,您还必须定义当字符串太短时该怎么做(在这种情况下,我按原样返回,但是您可能想引发一个异常,或者将整个字符串变成*或类似内容。