小弟有个问题请教:在一个以逗号为分割如下:   
        strA=“   ab   ,bc   ,cd   ,de   .........“   注:省略号是后面还有以逗号分割的字母   
        如何才能够以逗号为判断条件从中取出   ab     bc     cd     de   ......   中字母,还有怎样判断逗号结束。   
  各位帮帮忙 

解决方案 »

  1.   

    INSTR,REPLACE,SUBSTR,楼主去搜搜这几个函数的用法就好
      

  2.   

    INSTR:查看,出现的位置
    REPLACE:替换字符串
    SUBSTR:截取字符串步骤:
    1,用INSTR函数查看第一个出现‘,’的位置M
    2,然后用SUBSTR截取从0为止到(M+1)的字符串,注意一定要把1步骤中的逗号截取掉。
    3,用REPLACE函数,将截取到字符串中的逗号全部替换成空串,这样就取出来了ab。
    4,循环执行,懂step1-->step4,循环判断条件是INSTR取‘,’的位置值>0。
    不知道我说的楼主明白了没有?
      

  3.   


    split函数我没有用过,这个楼主也可以试下的!
      

  4.   

    帮楼主手写了一个split函数,楼主试试:
    --定义
    FUNCTION SPLIT(P_STR IN VARCHAR2, P_CHAR IN CHAR) RETURN TYP_TBL_VARCHAR2;
    --函数体
    FUNCTION SPLIT(P_STR IN VARCHAR2, P_CHAR IN CHAR) RETURN TYP_TBL_VARCHAR2 IS
               ARRAY_STRING     TYP_TBL_VARCHAR2 := TYP_TBL_VARCHAR2();
               V_I              NUMBER(10);           POSITION         NUMBER(10);
               TMP_STR          VARCHAR2(500);
           BEGIN
               TMP_STR := P_STR;
               V_I := 1;
               POSITION := INSTR(TMP_STR, P_CHAR);
               WHILE ( POSITION > 0 ) LOOP
                   ARRAY_STRING.EXTEND;
                   ARRAY_STRING(V_I) := SUBSTR(TMP_STR, 1, POSITION - 1);
                   V_I := V_I + 1;
                   TMP_STR := SUBSTR(TMP_STR, POSITION + 1);
                   POSITION := INSTR(TMP_STR, P_CHAR);
               END LOOP;           ARRAY_STRING.EXTEND;
               ARRAY_STRING(V_I) := TMP_STR;           RETURN ARRAY_STRING;
           END SPLIT;
      

  5.   

    好久没写函数了,学习一下。
    不知道楼主在什么地方用,如果在开发程序中使用的话,还是用开发程序的split函数比较简单点。
    lpc19598188 写的函数在c#中如何调用呢?有没有介绍