delphi 字符串分割的问题

xinzhongweiyang 2012-01-10 11:18:38
字符串是 ‘字符串1’ AND ‘字符串2’ AND ‘字符串3’AND组成的;
请问怎么将字符串分割开来
...全文
158 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-01-10
  • 打赏
  • 举报
回复
const
s='Type like B AND Data like C AND Next like D';
var
i:integer;
s1:string;
begin
s1:=s+'AND';
while 1=1 do
begin
i:=pos('AND',s1);
if i=0 then
break;
memo1.lines.add(Trim(copy(s1,1,i-1)));
delete(s1,1,i+3);
end;
end;
xinzhongweiyang 2012-01-10
  • 打赏
  • 举报
回复
delphi 7
Frank.WU 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xinzhongweiyang 的回复:]

字符串中是带空格的,方法2 会把 空格 也作为分割符! 分出来的字符串 大!

只能用方法1了
[/Quote]
说下你用delphi的版本?不同版本不同方法。
xinzhongweiyang 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sailxia 的回复:]

一楼和二楼已经说得很清楚了,
而且二楼的方法就是我的“方法2”,还有什么不明白的么?
[/Quote]

字符串中是带空格的,方法2 会把 空格 也作为分割符! 分出来的字符串 大!

只能用方法1了
Frank.WU 2012-01-10
  • 打赏
  • 举报
回复
一楼和二楼已经说得很清楚了,
而且二楼的方法就是我的“方法2”,还有什么不明白的么?
xinzhongweiyang 2012-01-10
  • 打赏
  • 举报
回复
‘Type like B’ AND ‘Data like C ’ AND‘ Next like D’

我现在想要得到‘Type like B’ ‘Data like C ’ ‘ Next like D’这三个字符串!
怎样截取
lucky2011 2012-01-10
  • 打赏
  • 举报
回复
你在说的明白一些?
funxu 2012-01-10
  • 打赏
  • 举报
回复
const
    constr :String = 'aaa\bbb\ccc\ddd';
  var
   strs :TStrings;
   i :Integer;
  begin
   strs := TStringList.Create;
   strs.Delimiter := '\';
   strs.DelimitedText := constr;
   for i := 0 to Strs.Count-1 do
   ShowMessage(Strs[i]);
  end;
Frank.WU 2012-01-10
  • 打赏
  • 举报
回复
方法1:pos(),AND
方法2:stringreplace(),AND-->Char-->TstringList
rocket204 2012-01-10
  • 打赏
  • 举报
回复

const
    constr :String = ''Type like B'' AND ''Data like C '' AND'' Next like D'';
  var
   strs :TStrings;
   i :Integer;
  begin
   strs := TStringList.Create;
   strs.Delimiter := 'AND '; //把分隔符设置为 'AND'
   strs.DelimitedText := constr;
   for i := 0 to Strs.Count-1 do
   ShowMessage(Strs[i]);
  end;
Frank.WU 2012-01-10
  • 打赏
  • 举报
回复

var
s: string;
st: TStringList;
begin
s := 'Type like B AND Data like C AND Next like D';
s := StringReplace(s,'AND',#13,[rfReplaceAll,rfIgnoreCase]);
st := TStringList.Create;
st.Text := s;
Memo1.Lines.Assign(st);
st.Free;
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧