2

クリスタル初心者です。{?names} というパラメーターがあり、複数の値を使用して、データベースでそれらすべての名前または類似のものを検索できます。誰かが"last name, first name". 「、」が含まれている場合は、「、」で分割してから、すべての値が配列内の独自の値である新しい配列を作成します。このような:

    {?names} = ["hank", "jerry", "smith, john", "peterson"]

配列のすべての値に「、」があるかどうかを確認し、見つかった場合は、それを分割して新しい配列の 2 つの異なる値に分けるにはどうすればよいですか? このような:

    new {?names} = ["hank", "jerry", "smith", "john", "peterson"]

これが初心者の質問である場合は申し訳ありませんが、私はちょっと初心者です。ご協力いただきありがとうございます!

4

1 に答える 1

3

数式フィールドを作成します。

//{@names}
Stringvar Array names := Split( Join({?Names},","), "," );

// test the results or do whatever
Join(names, ":")

ただし、このアプローチではスペースは削除されません。たとえば、「smith、john」は「smith」、「john」になります。

重要なのは、このアプローチを試してみることです。

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,":")
于 2012-04-26T15:46:29.803 に答える