Delphi新手求助字符串操作

本人新学Delphi,对于Pascal的字符串操作函数太不熟悉了.请帮助截取一下字符串如"国药计字[1994]57号"我要取出'国药计字','1994'和'57'这3个子... 本人新学Delphi,对于Pascal的字符串操作函数太不熟悉了.
请帮助截取一下字符串 如 "国药计字[1994]57号"
我要取出 '国药计字','1994'和'57' 这3个子串.
请给个公式!!
唉!只是不习惯Pascal的Copy和Pos这种没营养的函数名字.
看电影到: 小小影视站 http://www.xxysz.com
展开
 我来答
billswhot
2010-08-31 · TA获得超过1015个赞
知道小有建树答主
回答量:1182
采纳率:0%
帮助的人:674万
展开全部
var p:integer;
s,sTmp,sWord,sYear,sNum:string;
begin
s:='国药计字[1994]57号';
p:=pos('[',s);
if p>0 then
begin
sWord:=Copy(s,1,p-1);
sTmp:=Copy(s,p+1,Length(s)-p);
end
else exit;
p:=pos(']',sTmp);
if p>0 then
begin
sYear:=copy(sTmp,1,p-1);
sTmp:=Copy(sTmp,p+1,Length(sTmp)-p);
end
else exit;
p:=pos('号',sTmp);
if p>0 then
begin
sNum:=copy(sTmp,1,p-1);
end;
end;
ordinaryhope
2010-08-31 · TA获得超过162个赞
知道答主
回答量:63
采纳率:0%
帮助的人:44.2万
展开全部
[Delphi] function ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PAnsiChar; Strings: TStrings): Integer;

Separators 参数指定一组分割符,所有的子串都是用它们分割的。但是成对的引号内的分割符会被忽略(参看下面的例子)。
WhiteSpace 参数指定每个子串开头被忽略的字符s。
Content 参数就是被分割的“源”串了。
Strings 参数用于接收分割后的各个子串。它的原有内容不会被清空。别忘了Create哦。
另外,EctractStrings不会把(忽略WhiteSpaces后的)空串加入到Strings中。

下面是一个例子:
//分割字符串 ExtractStrings
var
s: String;
List: TStringList;
begin
s := 'about: #delphi; #pascal, programming';
List := TStringList.Create;
ExtractStrings([';',',',':'],['#',' '],PChar(s),List);
//第一个参数是分隔符; 第二个参数是开头被忽略的字符

ShowMessage(List.Text); //about
//delphi
//pascal
//programming
List.Free;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式