写一个函数:
要求依照逗号或者其他分隔符取出字符串中的某一段
例如:‘A,B,C,D,E;F,G’
StrSen(s,',',2);以逗号分隔,取出上面字符串的第2个字段,结果 B
StrSen(s,';',2);以分号分隔,取出上面字符串的第2个字段,结果 F,G
StrSen(s,'D,E',2);以D,E分隔,取出上面字符串的第2段内容,结果 ;F,G新人求教,刚刚开始学习,谢谢帮助!
要求依照逗号或者其他分隔符取出字符串中的某一段
例如:‘A,B,C,D,E;F,G’
StrSen(s,',',2);以逗号分隔,取出上面字符串的第2个字段,结果 B
StrSen(s,';',2);以分号分隔,取出上面字符串的第2个字段,结果 F,G
StrSen(s,'D,E',2);以D,E分隔,取出上面字符串的第2段内容,结果 ;F,G新人求教,刚刚开始学习,谢谢帮助!
解决方案 »
- 百分求解释,为啥Tclientdataset.applyupdates不能直接更新到数据库
- ehlib中dbediteh简单乘法计算问题
- D7下创建CGI Stand-alone Executable程序,OnCreate的时候初始化一个TThreadList就出错
- 问什么不能订阅杂志邮件??
- 急,关于QuickRep:如何让QuickRep的preview随着Printer的设置而更新?(在线等候!)
- 谁用过IdSMTPServer这个东东?
- 菜鸟一问:delphi调用存储过程的问题... 在线等待!!!!!
- 请问Delphi7.0的序列号以及authorized number是什么?
- 如何得到本地 Outlook Express / FoxMail 中的全部邮件账户?
- 很简单的问题,我不会
- 已经得到了一组二维数组的值,怎么插入数据库?总报错,给分50
- 在access数据库中查找空记录的问题
var
ssTmp : TStringList;
begin
Result := '';
ssTmp := TStringList.Create;
ssTmp.Text := StringReplace(Str, SubStr, #10, [rfReplaceAll]);
if Idx <= ssTmp.Count+1 then
Result := ssTmp[Idx-1];
ssTmp.Free;
end;procedure TForm1.Button1Click(Sender: TObject);////测试
var
S : string;
begin
S := 'A,B,C,D,E;F,G;D,E,ABCDE';
ShowMessage(StrSen(s,',',2)); // 'B'
ShowMessage(StrSen(s,';',2)); // 'F,G'
ShowMessage(StrSen(s,'D,E',2));// ';F,G;'
ShowMessage(StrSen(s,'D,E',3));// ',ABCDE'
end;利用POS函数也可以.
ssTmp.Text := StringReplace(Str, SubStr, #10, [rfReplaceAll]);
能解释一下这段吗?谢谢
上面这句,是用StringReplace函数,把Str中的SubStr替换为换行符,然后赋值给ssTmp.Text
例如: Str = 'aa,bb,cc';
把逗号替换为换行符后,赋值给ssTmp, 于是ssTmp就是:ssTmp[0] --> 'aa'
ssTmp[1] --> 'bb'
ssTmp[2] --> 'cc'再有不明, 查阅StringReplace函数说明