假设在RPGLE中我有一个字符串变量,这个变量的内容是 "Hi;this;is;Kunal;Roy"。变量的内容是 "Hi;this;is;Kunal;Roy"。我如何根据符号来分割字符串的内容。
我想把Hi,this,is,Kunal,Roy这些值分开并存储在其他变量中。
谁能建议一个简单的方法,在rpgle中做到这一点。
RPG有一个关于拆分字符串的RFE,你可以投票支持。
"新的内置函数%SPLIT": http:/www.ibm.comdeveloperworksrfeexecute?use_case=viewRfe&CR_ID=108424。
有很多不同的方法来处理这个问题。一个解决方案是使用C函数strtok或strtok_r。你也可以编写自己的程序。
服务程序Linked List和Arraylist(来自rpgnextgen.com)都有一个拆分过程,它可以拆分一个字符串并将其部分存储在一个列表中。这两个服务程序的文档可以在下面找到 http:/iledocs.rpgnextgen.com。 .
**FREE
ctl-opt dftactgrp(*no) actgrp(*caller) bnddir('GLOBAL');
/include 'arraylist/arraylist_h.rpgle'
main();
*inlr = *on;
dcl-proc main;
dcl-s list pointer;
dcl-s text varchar(50);
dcl-s part varchar(50);
text = 'Hi;this;is;Kunal;Roy';
list = arraylist_split(text);
part = arraylist_getString(list : 0);
dsply part;
arraylist_dispose(list);
end-proc;
你可以通过软件包管理器轻松安装这些服务程序。iPKG 从回购 https:/repo.rpgnextgen.com。 .