Crystal reports 删除Crystal Report中的字母表

Crystal reports 删除Crystal Report中的字母表,crystal-reports,crystal-reports-2008,Crystal Reports,Crystal Reports 2008,大家好,我是Crystal Reports的新手,我正在使用Crystal Reports 2008,我想知道如何删除字符串中的字母字符,并且只保留数字。有这个功能吗 示例:第231点/第323点/USP 342点 输出:231/323/342 谢谢, 船长16使用以下公式 stringvar str; stringvar str1; numbervar counter; numbervar leng; leng := len({Your_Field}); if leng>0 then

大家好,我是Crystal Reports的新手,我正在使用Crystal Reports 2008,我想知道如何删除字符串中的字母字符,并且只保留数字。有这个功能吗

示例:第231点/第323点/USP 342点 输出:231/323/342

谢谢,
船长16使用以下公式

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
这是我为您给定的输入获取的输出


希望这对你有所帮助,试着带着结果回来吧

对不起,我不能评论哈里哈兰·安巴扎根的代码(我似乎没有足够的声誉)。这是一个很好的代码,但我会添加LCASE以捕获所有大写字母

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

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

您考虑过使用正则表达式吗?谢谢您的建议!!但默认情况下,我的代码会删除大写字母。询问者队长16只想从给定字符串中删除字母。因此,它可以通过我的代码实现。但是你能帮我把
NOT
添加到
If(Mid({Your_Field},counter,1))中的“a”到“z”,然后
code??不必要,我正在使用else case,因为我不能在
if
中使用
NOT
。我有机会尝试你的代码。。。美好的我不知道它懂大小写。我想,如果你想摆脱ELSE,你可以做
如果不是(Mid({Your_Field},counter,1)在“a”到“z”)然后
。但我认为你的很好,你可以看到你移除了什么。