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

问题描述

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

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

解决方案


代码如下:
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;
支持“、”“,”“-”分隔的任何位数字符串的转换。

解决方案二:

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;

解决方案三:

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

解决方案四:

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

解决方案五:

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

解决方案六:

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

解决方案七:

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

解决方案八:

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

时间: 2024-09-29 16:19:28

delphi-使用Delphi如何解决字符串分割的问题的相关文章

Delphi中优秀的字符串分割函数

Delphi没有自己的字符串分割函数,所以只能程序员自己写了,网上搜了好多但是真正好用的没有几个. 下面这个是我在网上找到修改后了的,个人感觉算法不错,所以就贴了上来. function SplitString(Source, Deli: string ): TStringList;stdcall; var EndOfCurrentString: byte; StringList:TStringList; begin StringList:=TStringList.Create; while P

delphi 10 seattle 中 解决IOS 9 限制使用HTTP 服务问题

   IOS 9 于17号早上正式开始推送,早上起来立马安装,这次升级包只有1G, 安装空间也大大降低(想起IOS 8 升级时,几乎把手机里面的东西删光了,满眼都是泪). 虽然安装后,网上几乎是铺天盖地的吐槽,但是如果不安装的话,拿什么吐呢?:)     回到正题,既然IOS 9出来了,那么前几天刚出来的delphi 10 会怎么想?是支持呢,还是不支持? 昨天晚上把所有的准备条件搞好(xcode7+ios 9 SDK).    把以前的几个程序重新编译发布,基本上没有问题,可以正常运行.以为大

PHP字符串分割函数处理教程

php字符串函数是必不可少的,给我们解决实际问题提供了很多便利,比如使用PHP字符串函数对字符串分割.截取.匹配.替换等处理.PHP字符串函数对于PHP入门学习者来说必不可少,这么我们将将主要介绍PHP字符串分割函数处理心得,开启PHP字符串函数入门学习教程之旅. 常用的PHP字符串分割函数 常用的PHP分割字符串函数主要有explode.strtok.str_split,主要用来拆分字符串,并以数组或字符串形式返回,与这三个PHP字符串分隔函数相对应的,以分隔符连接拆分字符串的PHP字符串函数

浅谈C语言的字符串分割_C 语言

说起来很有意思,自认为对C语言理解得还是比较深刻的.但居然到今天才知道有个strtok函数,试用了一下突然感慨以前做了多少重复劳动.每次需要解析配置文件,每次需要分割字符串,居然都是自己去分割字符串,既累人又容易出错.感概技术学得不够全面啊!这里引用一段strtok用法: The strtok() function returns a pointer to the next "token" in str1, where str2 contains the delimiters that

PHP字符串函数教程:PHP字符串分割函数处理

PHP字符串函数在PHP网站开发中广泛使用,比如使用PHP字符串函数对字符串分割.截取.匹配.替换等处理.PHP字符串函数对于PHP入门学习者来说必不可少,本文将主要介绍PHP字符串分割函数处理心得,开启PHP字符串函数入门学习教程之旅. 常用的PHP字符串分割函数 常用的PHP分割字符串函数主要有explode.strtok.str_split,主要用来拆分字符串,并以数组或字符串形式返回,与这三个PHP字符串分隔函数相对应的,以分隔符连接拆分字符串的PHP字符串函数有implode.join

Java字符串分割

1. java.lang.String 的 split() 方法, JDK 1.4 or later split public String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串. 此方法返回的数组包含此字符串的每个子字符串,这些子字符串由另一个匹配给定的表达式的子字符串终止或由字符串结束来终止.数组中的子字符串按它们在此字符串中的顺序排列.如果表达式不匹配输入的任何部分,则结果数组只具有一个元素,即此字符串. limit 参数

asp.net字符串分割函数使用方法分享

 这篇文章主要介绍了asp.net字符串分割函数使用方法,需要的朋友可以参考下 先来看个简单的实例   但是其数组长度却是25,而不是3.下面这种方法是先将"[jb51.net]"替换成一个特殊字符,比如$,在根据这个字符执行Split   例如下面根据[jb51.net]分割    代码如下: string[] arrstr2 = str.Replace("[jb51.net]", "$").Split('$');     好了看其它方法.最简

Python实现统计英文单词个数及字符串分割代码

  这篇文章主要介绍了Python实现统计英文单词个数及字符串分割方法,本文分别给出代码实例,需要的朋友可以参考下 字符串分割 代码如下: str="a|and|hello|||ab" alist = str.split('|') print alist 结果 代码如下: str="a hello{这里换成5个空格}world{这里换成3个空格}" alist=str.split(' ') print alist 统计英文单词的个数的python代码 代码如下: #

JavaScript中字符串分割函数split用法实例

 先来看下面这段代码: 1 2 3 4 5 6 <script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") doc