当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: select portal_roles.rolename, portal_roles.roleid from portal_userroles inner join portal_users on portal_userroles.userid = portal_users.userid inner join portal_roles on portal_userroles.roleid ......
 ·高分求助用jboss    »显示摘要«
    摘要: 在jboss里自带的docs里没有任何和cloudscape有关的xml配置,请高手点拨一下!!!! ......


如何实现类似vb中split函数的功能

请问如何实现类似vb中split函数的功能

NO.1   作者: hillhx

public   function   string   of_str_join   (string   as_array[],   string   as_split);  
  //将数组合并为字符串  
   
  long   ll_i  
  string   lstr   =   ""  
  for   ll_i   =   LowerBound(as_array)   to   UpperBound(as_array)  
    if   ll_i   =   UpperBound(as_array)   then  
    lstr   =   lstr   +   as_array[ll_i]  
    else  
                lstr   =   lstr   +   as_array[ll_i]   +   as_split  
    end   if  
  next  
  return   lstr  
  end   function  
   
   
  public   function   long   of_str_split   (string   as_expression,   string   as_split,   ref   string   as_array[]);  
  //将字符串拆分为数组  
   
  long   ll_pos   =   1       //数组位变量  
  long   ll_find             //pos返回位置变量  
  string   ls_null[]  
   
  //==  
  if   isnull(as_expression)   or   isnull(as_split)   then  
        setnull(ll_pos)  
        return   ll_pos  
  end   if  
   
  as_array[]   =   ls_null[]  
   
  //  
  ll_pos   =   1  
  ll_find   =   pos(upper(as_expression),   upper(as_split))     //   不去分大小写  
  do   while   ll_find   >   0  
        as_array[ll_pos]   =   left(as_expression,ll_find   -   1)  
        as_expression   =   right(as_expression,len(as_expression)   -   ll_find   -   len(as_split)   +   1)       //去掉刚才放到数组中的部分  
        //==  
        ll_find   =   pos(upper(as_expression),   upper(as_split))     //   不去分大小写  
        ll_pos   =   ll_pos   +   1       //数组上升1位  
  loop  
  as_array[ll_pos]   =   as_expression       //将最后一位放到数组中  
   
  //==  
  return     ll_pos   //返回产生的数组上限  
  end   function

NO.2   作者: callingda

//   f_split(byval   string   liststr,   byref   string   list[],fs_invchar)  
  if   isnull(liststr)   or   len(liststr)   <=   0   then   return   0  
  string   empty[]      
  int     count   ,   posi   ,   splitlen  
  list   =   empty  
  splitlen   =   len(fs_invchar)  
  if   isnull(liststr)   or   len(liststr)   <=   0   then   return   0  
  do    
  posi   =   pos(liststr,fs_invchar)  
  if   posi   <=   0   then  
  list[upperbound(list)   +   1   ]   =   trim(liststr)  
  else  
  list[upperbound(list)   +   1   ]   =   trim(left(liststr,posi   -   1   ))  
  liststr   =   trim(mid(liststr,   posi   +   splitlen   ))  
  end   if  
  count   ++  
  if   len(trim(liststr))   <=   0   or   posi   <=   0   then   exit  
  loop   while   posi   >   0  
  return   count


    摘要: 各位大虾们好,小弟最近到北京求职,找了几家没有合适的,现在已经到了弹尽粮绝的地步,小弟,函授本科毕业,在印度niit和哈尔滨华富惠通联合开办的软件工程师培训学习过一年的程序编写,曾做过三年delphi程序员,对java和.net稍有涉猎,数据库用的是sql server.参与过的项目有建筑远程管理系统,七台河煤矿管理系统,医院管理系统,酒店管理系统等,希望各位北京的大虾能帮小弟介绍下工作,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE