使用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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...