知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > 获取字符串的方法

获取字符串的方法

获取字符串的方法 

问题描述:最近接到这么一个客户问题,在报表中想获取字符串的子串。 

例如: 

 

据上图,要实现当代码9-12位为0000 返回获取8位;不是0000时返回获取10位,一开始客户用left()函数,但发现效果无论输入的代码912位是不是0000 都是获取的10位。那么如何来实现类似于这种的需求呢,下面的例子是分别返回字符串的左、中、右子串 

  

关键字:字符串,截取,获取 

   

需求实现: 

  第一步:复杂报表设计" target="_blank" class="quieeLink1">设计报表截取字符串.raq,如图所示: 

 

具体步骤如下: 

1)添加1个普通参数和2个动态参数,如图: 

 

其中arg1的值表达式为:123456780000 

arg2的值表达式为:if(left(arg1,9,4)==”0000″,123456780000,12345678) 

arg3的值表达式为:if(right(arg1,9,4)==”0000″,123456780000,12345678) 

函数的具体用法请见附录 

2)设计报表,参见第一步。 

这样就用left(),mid(),right()三个函数分别实现各自获取的效果了。 

  

第二步:预览报表,如图: 

 

  

  

总结:这样分别用left(),mid(),right()来达到获取字符串的目的了。 

  

  

附录:  

    left()函数说明:  

        获得源字符串左边的子串 

    语法: 

        left(string, n) 

         

    参数说明: 

        string        获得子串的源串 

        n        获得子串的长度 

     返回值: 

        字符型 

     示例: 

        1left(“abcdefg”,3)        返回:“abc” 

  

  mid()函数说明:  

        返回字符串的子串 

     语法: 

        mid(s, start{, end}) 

         

    参数说明: 

        s        待获得子串的源串 

        start        获得子串的起始位置 

        end        获得子串的结束位置,缺省为源串的长度 

    返回值: 

        字符串型 

            示例: 

        1mid(“abcde”,0)    返回:abcde 

        2mid(“abcde”,1,2)    返回:b 

        3mid(“abcde”,3)    返回:de 

  

    right()函数说明:  

        获得字符串右边的子串 

        相关函数:left()        获得源字符串左边的子串 

              mid()            获得源字符串中间的子串 

    语法: 

        right(s, n) 

     参数说明: 

        s        待获得子串的源串 

        n        获得子串的长度 

    返回值: 

        字符串型 

     示例: 

        1right(“abced”,2)返回:“ed” 

标签:
发布日期:2011/11/25
本文分类: 设计基础