基于CAPL脚本,造一个分割字符串的轮子

Posted 蚂蚁小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于CAPL脚本,造一个分割字符串的轮子相关的知识,希望对你有一定的参考价值。

在python 中 用split函数,可以很方便的将一个字符串根据特定符号进行分割,很方便, capl 中没有相关的函数的,那咱就自己造一个,方便使用

以下代码 可以将 字符串列表 [A,B,C,D,E,F] 转成 arrary[5][10]={"A","B","C","D","E","F"}


On key 'a'
  
{

  char input_s[100]="[I,LOVE,CODING,IN,CSDN]";

  
  char output_s[20][100];
  int  p_length ;
    
  p_length =  spilt_string(input_s,output_s,",");   

 
}


int spilt_string(char input_string[],char out_string_arrary[][],char sign[])
  
{

    int i ;
    int debug;
    int StartIndexPos;
    char p_index[20];
    int  out_arrary_length ;


    debug = 1;

    StartIndexPos = 0;
    out_arrary_length = 1;
    p_index[0] = 0;

    do{   
         StartIndexPos =   strstr_off(input_string,StartIndexPos+1,sign);     
         p_index[out_arrary_length] = StartIndexPos;    
         if (StartIndexPos!=-1)
             out_arrary_length ++;
    
    } while(StartIndexPos!=-1);
       
     p_index[out_arrary_length] = strlen(input_string)-1; 
    
 
      for(i=0;i<out_arrary_length;i++)
    {            
       substr_cpy(out_string_arrary[i], input_string, p_index[i]+1 ,  p_index[i+1] -  p_index[i] -1, elcount(out_string_arrary[i]));
      
      if (debug)
      {
       //write("serched postion:%d", p_index[i]);
       write("out_string_arrary[%d]:%s", i,out_string_arrary[i]);
      }      
    } 
       
  return out_arrary_length;
}

输出结果:

out_string_arrary[0]:I
out_string_arrary[1]:LOVE
out_string_arrary[2]:CODING
out_string_arrary[3]:IN
out_string_arrary[4]:CSDN

以上是关于基于CAPL脚本,造一个分割字符串的轮子的主要内容,如果未能解决你的问题,请参考以下文章

工具代码生成器-python脚本

基于WPF重复造轮子,写一款数据库文档管理工具

自己动手造“轮子”---python常用的几个方法

我们为什么喜欢重新造轮子

手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc

CuteSTL——跟着感觉造轮子