2

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

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

谢谢,船长16

4

2 回答 2

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这是我为您的给定输入得到的输出!

希望这会有所帮助,尝试并获得结果!

于 2012-10-31T11:07:36.110 回答
0

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

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

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

于 2012-11-01T11:17:12.893 回答