我很擅长水晶。我有一个名为{?names}的参数,它允许多个值在数据库中搜索所有这些名称或类似名称。我想检查数组的每个值是否为“,”以防有人写"last name, first name"
。如果它确实包含“,”那么我想将它拆分为“,”然后创建一个新数组,其中所有值都是它们在数组中的值。像这样:
{?names} = ["hank", "jerry", "smith, john", "peterson"]
如何检查数组的每个值是否为“,”如果找到它,将其拆分并将其分成新数组中的两个不同值?像这样:
new {?names} = ["hank", "jerry", "smith", "john", "peterson"]
对不起,如果这是一个菜鸟问题,但我有点像菜鸟。谢谢你的帮助!
答案 0 :(得分:3)
创建公式字段:
//{@names}
Stringvar Array names := Split( Join({?Names},","), "," );
// test the results or do whatever
Join(names, ":")
然而,这种方法不会删除空格。 "史密斯,约翰"将导致"史密斯","约翰",例如。
重要的是,尝试这种方法:
Stringvar Array names:= Split(Join({?Names},","),",");
Stringvar Array output;
Redim output[ubound(names)];
Local Numbervar i;
for i:=1 to ubound(names) do (
output[i] := trim(names[i]);
);
Join(output,":")