繁体   English   中英

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

[英]Crystal Reports 13. Formula to extract part of string

我正在使用水晶报表 13。

我的数据中有一个字段,其中包含一个包含不同时间的字符串。

示例:0010800; 0011000; 0011200; 0011400; 0011600; 0011800; 0011900 0010000; 0010600; 0011200; 0011409; 0011415; 0011415; 0011415; 0011800; 00110000; 00110000; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011400; 0011800》;

提取“;”前四位数字的最佳方法是什么? 对于第一行,我需要看到这样的内容:

“08:00、10:00、12:00、14:00、16:00、18:00 和 19:00”

谢谢伊恩

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);
)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM