删除Crystal Report中的字母

时间:2012-10-31 05:17:44

标签: crystal-reports crystal-reports-2008

您好我是Crystal Reports的新手,我正在使用Crystal Reports 2008,我想知道如何删除字符串中的字母字符,只剩下数字。这有功能吗?

示例:Point 231 / Point 323 / USP 342 输出:231/323/342

谢谢, Captain16

2 个答案:

答案 0 :(得分:3)

使用以下公式

stringvar str;
stringvar str1;
numbervar counter;
numbervar leng;

leng := len({Your_Field});
if leng>0 then
 (
    for counter := 1 to leng do
    (
        If (Mid({Your_Field}, counter, 1)) in "a" to "z" Then
        (
            str1:=str1 + Mid({Your_Field}, counter, 1)
        )
        else
        (
            str := str + Mid({Your_Field}, counter, 1)
        )
    );
str
 ) 


这里str将获得非字母表,而str1将只获取给定字符串中的字母。 {Your_Field}可以是包含字符串的字段或参数。通过打印str可以删除字母表...

231 / 323 / 342这是我给你输入的输出!

希望这会有所帮助,请尝试并取回结果!

答案 1 :(得分:0)

对不起,我不能评论Hariharan Anbazhagan的代码(我似乎没有足够的声誉)。这是很好的代码,但我会添加LCASE来捕获所有的大写字母。

If LCASE(Mid({?sample}, counter, 1)) in "a" to "z" Then

如果您只想识别数字,还有一个IsNumeric()函数。