ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 求一个字符串中某个子串出现的次数

求一个字符串中某个子串出现的次数

原创 Linux操作系统 作者:xpj0515 时间:2011-05-08 22:27:03 0 删除 编辑


==================================================================

                                                                             字符串出现的次数 

1。有点问题就是ababa只算出现一次的过程


declare
  string_source varchar2(2000) := 'abadfdbbasdadsabababadbadbabjdfhahhfahhjabfbababfjgh';
  rep_string varchar2(10) := 'aba';
  counts integer := 0;
begin
   select (length(string_source)-length(replace(string_source,rep_string,'')))/length(rep_string) into counts from dual;
      dbms_output.put_line('Count :  '||counts);
end;
/
Count :  4

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.01


2。ababa算作出现两次的和过程

declare
  string_source varchar2(2000) := 'ababdfdabbadsababababbabafaabahjabfbababah';
  rep_string varchar2(10) := 'aba';
  counts integer := 0;
--v_temp integer := 0;
  v_flag integer := 0;
begin
    --     select instr(string_source,rep_string,1,counts+1) into v_temp from dual;
    --          if (v_temp = 0) then
    --            dbms_output.put_line('不存在匹配的字符串');
    loop
      select  instr(string_source,rep_string,1,counts+1) into v_flag from dual;
          if (v_flag != 0 )
                         then counts := counts+1;
                         v_flag := 0 ;
          else exit ;
          end if;
         end loop;
     dbms_output.put_line('Count :  '||counts);
end;
/
Count :  8

PL/SQL procedure successfully completed.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24890594/viewspace-694776/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-11-08

  • 博文量
    32
  • 访问量
    52415