我在Crystal报表中有一个显示客户名称的字段。但是,要求是仅显示前5个字符,其中还包括空格。第五个字符之后的所有内容将转换为*
,并且间距应显示为空格。随着名称字段的变化,我该怎么做?
当前我只有这个,它显示前5个字符,并仅用*
替换第6个字符
Replace({Command.CUST_NAME},MID({Command.CUST_NAME},6),"*")
答案 0 :(得分:1)
不幸的是,似乎Crystal并没有支持正则表达式。
所以,我会做一个功能。试试这个:
stringvar input := {Command.CUST_NAME};
stringvar output := MID(input, 1, 5);
numbervar i;
for i:=5 to Length (input) step 1 do (
stringvar aChar := MID(input, i, 1);
if aChar <> " " then aChar := "*";
output := output + aChar;
);
output
如果{Command.CUST_NAME}小于5个字符,也许您将不得不处理。