使用Delphi如何解决字符串分割的问题

有一条字符串 'a1-a3,b5/f2,f4-f7/c9' ,我想得到的结果是:a1 a2 a3 b5 f2 f4 f5 f6 f7 c9. 难度挺大的,不知哪位老师能帮忙解决下。先谢了!

0

6个回答

图片说明
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2:string;
i,j,k:integer;
begin
S1:=Edit1.text;
S2:='';
for i:= 1 to length(S1) do
begin
if i=1
then begin
k:=0;
for j:=i to length(S1) do
begin
if (S1[j]='/') or (S1[j]=',') or (S1[j]='-') then
begin
k:=j;
Break;
end;
end;
if K>0 then S2:=Copy(S1,1,K-1);
end
else begin
if (S1[i-1]='/') or (S1[i-1]=',') or (S1[i-1]='-') then
begin
k:=0;
for j:=i to length(S1) do
begin
if (S1[j]='/') or (S1[j]=',') or (S1[j]='-') then
begin
k:=j;
Break;
end;
if (J=length(S1)) and (K=0) then k:=J+1;
end;
if K>0 then S2:=S2+' '+Copy(S1,i,K-i);
end;
end;
end;
Edit2.Text:=S2;
end;
支持“、”“,”“-”分隔的任何位数字符串的转换。

0
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2:string;
    i,j,k:integer;
begin
  S1:=Edit1.text;
  S2:='';
  for i:= 1 to length(S1) do
  begin
    if i=1
    then begin
       k:=0;
       for j:=i to length(S1) do
       begin
         if (S1[j]='/') or (S1[j]=',')  or (S1[j]='-') then
         begin
           k:=j;
           Break;
         end;
       end;
       if K>0 then S2:=Copy(S1,1,K-1);
    end
    else begin
      if (S1[i-1]='/') or (S1[i-1]=',') or (S1[i-1]='-') then
      begin
        k:=0;
        for j:=i to length(S1) do
        begin
          if (S1[j]='/') or (S1[j]=',') or (S1[j]='-') then
          begin
            k:=j;
            Break;
          end;
          if (J=length(S1)) and (K=0) then k:=J+1;
        end;
        if K>0 then S2:=S2+' '+Copy(S1,i,K-i);
      end;
    end;
  end;
  Edit2.Text:=S2;
end;

0

非常感谢:【lyhoo163】老师的指导,已帮助解决了大部分问题。还想请教一下老师,对a1-a3的中间部分如何进行判断添加,形成更加完整的数据。再次表示感谢!!!

0

提供的代码,可以处理a1-a3

0

已解决了所有问题,非常感谢!顺祝: 新年愉快!!

0

逐一判断,不是在0-9,A-Z的字符用空格替代,结束

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
delphi 字符串分割的问题
字符串是 ‘字符串1’ AND ‘字符串2’ AND ‘字符串3’AND组成的;rn请问怎么将字符串分割开来
Delphi字符串分割使用Tstringlist示例
点击下列按扭事件,分别弹出三个窗口,把一个字符分成一个数组 procedure TfrmTrainMain.RzbtnLiuChengClick(Sender: TObject); var   list: TStringlist;   i: Integer; begin      i := 0;   list := TStringlist.Create;   list.Delim
delphi字符串分割示例源码
免费分享的字符串分割示范源码,可是实现对特定字符串按照指定的字符进行分割
delphi字符串按字符串分割
delphi字符串按字符串分割 Edit1aa1aa2 按aa分割结果 Edit1 1 2
求正则表达式解决字符串分割问题!!!
rnstring s = "汉字123文字english";rnrn现在我想按照中文汉字来分割成string[]数组,并且保留此中文得到:rnrnstring[] arr = "汉字","123","文字","english";rnrn代码该怎么写?rnrn
delphi字符串分割函数整理
整理的delphi环境下一些字符串分割函数,非常使用且方便
关于delphi字符串分割
如何将如下字符串分割rn出售书籍['Delphi下深入windows核心编程','¥48']rnrn如何分割成个字段显示到Memo中rnrn出售书籍rnDelphi下深入windows核心编程rn¥48
字符串分割速解决
String s = "a,b,c,d,e";rnrn我想要str="abcde";rnrn怎么写?rnrn
如何解决delphi内存泄露的问题?
提示错误 ‘access violation at address 0087EE7B in module。。。。’ Read of address 0E715B7F,Proces stoped。rnrn请问是什么问题 是因为内存泄露吗 该怎么查看是什么原因造成的 请大家帮忙
delphi有没有自带的字符串分割函数
有没有自带的字符串分割函数rn以及数组合并为字符串的函数?rnrn有的话,麻烦各举下例子
delphi如何解决以下问题!
各位大虾,1:怎样判断鼠标左右键同时按下;rn 2:可以动态分配多维数组吗?rn谢谢各位!还有,能告诉我如何加分吗?
字符串分割问题
需要一个简单的Question类主要代码: public Class Question{ private Long id; private String title; // 题干 private String issue; private String selectOne; private String selectTwo; private String selectThree;
字符串分割的问题
字符串是这样的格式:rn(01020025)张瑞, (0105002)林凌, (010203)君玲rn怎么转换成:01020025,0105002,010203这样的啊rn
字符串分割问题.
比如字符串:'uusdf$4,5sdafasdfasdf$5asdfasdf$7,8rtrwt$wert'rn要把他以($或者$n,m或者$n。[n,m是个数字])作为符号分割。并且要提取$前面的n和m的数字.rn还有个条件:就是要分割得到的字符串分配给一个字符串数组rntoken:array[0..100] of string;rn并且要得到n和m的数字加到分割得到的字符串后面,如rn分割了以后要把这些(就上面的列子)'uusdf45','sdafasdfasdf5','asdfasdf78','rtrwt','wert'rnrn
字符串分割问题。
“ C1 CHIP-135 6.54 79.25 0 T CHIP-135 ”rnrn面对怎样的字符串,应该怎样分割呢?
Delphi 自带的字符串分割函数split
下面介绍Delphi自带的字符串分割函数,根据你的需要来使用。 1、ExtractStrings function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;  第一个参数是分隔符,可以是多个,例如 [';',',',':'] 可以按分
字符串分割问题?
if a="online.com" then rnrna1="online"rnrna2="com"rnrnif a="online.com.cn" thenrnrna1="online"rnrna2="comcn"rnrn当a等于其它时,能够自动分割出来。这个程序怎么写?感谢了!
****字符串分割问题
字符串:set @str = '集团/北京(总经理室 General Manager Department)/北京有限公司/朝阳住宅部 East Area Residence Department/朝阳区域/新天地酒'rnrn要求:函数参数(字符串,分割符,从第几位开始截取到最后)rn例题:rn1.如:取第3个/符号后的所有字符串 函数调用应该是:GetStr(@str, '/',3)rn结果应该是: 朝阳住宅部 East Area Residence Department/朝阳区域/新天地酒'rn2.若函数的第三个参数大于第二个参数出现的次数,则返回空rn如:函数调用应该是:GetStr(@str, '/',10)rn结果是:空(因为/在字符串中总共出现5次)
字符串分割的问题。
字符串如下。rn[img=https://img-bbs.csdn.net/upload/201309/09/1378723135_286604.jpg][/img]rnrn每行是一个实体。rn我需要分割成每一行来。rn怎么分割。
///////////////////字符串分割问题 //////////////
有字符串如 aasdf;asdf;asdfsdf;dffsdf...rnrn我想可到第 i 个 ; 号到i-1 个 ; 号 之间的字符,可以提供例子么??? 谢谢 ...
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo