0

我在数据集中有一个字段,该字段具有多行文本框值。我想拆分该记录,将其存储到一个数组中,当我通过 for 循环从数组中获取值时,我想在每一行前面加上一个“*”。我为此编写了一个公式,但它仅适用于 2 个值。之后它不起作用,我无法获得如何检索这样的值。

我希望结果是:

* 123
* 234
* 786 

但我得到了结果:

*123
234
786

我的公式是

Local StringVar y;
Local StringVar x;
Local NumberVar i;

y := ""+ chrw(10);
x := y;

Stringvar Array strings := Split({Touche.Concerns}, "\r\n");
Stringvar Array numbers;


For i :=1 To Ubound(strings) Do
(
y := y + chrw(10)+ "$" + strings[i];
);
y;
4

1 回答 1

0

与其将一个长公式分解为数组并操作每一行,不如直接用换行符星号替换换行符?

"* " & replace(trim({Touche.Concerns}), "\r\n", "\r\n* ");

前导 '*' 是将 char 放在第一行并trim调用该函数以删除任何尾随换行符(因此不会有只有星号的行)。

作为旁注,&在连接字符串而不是+字符时使用。使用+有时会导致强制将数值相加。例如"12" + "34"将 yield46而不是1234. char 确保使用&字符串连接。

于 2014-09-28T15:51:48.793 回答