Crystal Reports 13.提取字符串部分的公式



我正在使用水晶报告13.

我的数据中包含包含不同时间的字符串。

示例:0010800; 0011000; 0011200; 0011400; 0011600; 0011800; 00119000010000; 0010600; 0011200; 0011409; 0011415; 00118000010000; 0010400; 0010800; 0011200; 0011600; 00120000010600; 0011015; 0011428; 0011800; 0012229

在"之前提取四位数的最佳方法是什么。对于第一行,我需要看到这样的东西:

" 08:00,10:00,12:00,14:00,16:00,18:00和19:00"

谢谢Ian

Local Stringvar inString = {Table.FieldName};
Local Stringvar arr := Split(inString, ";");
For i := 1 To Count (arr)
(
    arr[i] := MID(arr[i],4,5) + ":" + MID(arr[i],6,7);
)

我相信以上应该有效,将可变inString设置为包含数据的字段的值。将其分成一个数组,并在每个;上分开。

然后循环遍历该数组,将每个条目复制回到最后四个字符,而:则插入中间。然后,您可以随意使用数组。

Local stringVar i;
Local Stringvar inString = {Table.FieldName};
Local stringVar array arr := Split(inString, ";");
for i := 1 to Count (arr) do
(
    arr[i] := Mid(arr[i],4,5) + ":" + Mid(arr[i],6,7);
)

我知道这是一个非常古老的话题,但是因为代码帮助我,所以我想发布此解决方案。我不得不进行一些较小的调整才能使它起作用。以防万一其他人像我一样偶然发现这个话题。

最新更新