有没有办法将名字转换为首字母?
Is there a way to convert names to initials?
我有一个姓名字段,我想在报告中仅显示为首字母。
所以
John Smith
Baba Booey
Jane Doe
会显示为:
JS
BB
JD
有没有公式可以运行只显示名字?
只需创建一个公式
试试这个代码
StringVar name_first;
StringVar name_last;
name_first := left({Field_name},1);
name_last := MID({Field_name}, INSTR({Field_name}, " "));
name_first+left(name_last,2);
希望,这会给你想要的结果
ProperCase() 函数会将每个单词的首字母转换为大写,其余字母转换为小写。然后,您可以遍历转换后的名称并将每个大写字母附加到结果中。这应该适用于任意数量的 first/middle/surnames,以及第一个字母是否已经大写:
Local stringVar FullName := ProperCase({FullName_Field});
Local stringVar ResultString := "";
Local numberVar x;
Local stringVar c;
for x := 1 to Length(FullName)
do (
c := mid((FullName), x, 1);
if ascw(c) >= 65 and ascw(c) <= 90 then ResultString := ResultString + c;
);
ResultString;
我有一个姓名字段,我想在报告中仅显示为首字母。
所以
John Smith
Baba Booey
Jane Doe
会显示为:
JS
BB
JD
有没有公式可以运行只显示名字?
只需创建一个公式
试试这个代码
StringVar name_first;
StringVar name_last;
name_first := left({Field_name},1);
name_last := MID({Field_name}, INSTR({Field_name}, " "));
name_first+left(name_last,2);
希望,这会给你想要的结果
ProperCase() 函数会将每个单词的首字母转换为大写,其余字母转换为小写。然后,您可以遍历转换后的名称并将每个大写字母附加到结果中。这应该适用于任意数量的 first/middle/surnames,以及第一个字母是否已经大写:
Local stringVar FullName := ProperCase({FullName_Field});
Local stringVar ResultString := "";
Local numberVar x;
Local stringVar c;
for x := 1 to Length(FullName)
do (
c := mid((FullName), x, 1);
if ascw(c) >= 65 and ascw(c) <= 90 then ResultString := ResultString + c;
);
ResultString;