如何判断指定字符串是否含有判断的字符?(50分)

S

sunylat

Unregistered / Unconfirmed
GUEST, unregistred user!
你好:
我想判断一个字符串中是否含有指定的字符,例如对下面的字符串,我想判断
哪一个含有“广播”
tempstr:='1113-1102(广播).YHP,东宇配送中心1113-1102(发布).YHP,东宇图书大连长兴店1113-1102(发布).YHP,东宇图书铁岭分店1113-1102(发布).YHP';
谢谢!
 
i:=pos('广播',tempstr);
if i>0 then showmessage('你要找的字在第 '+inttostr(i)+' 位');
 
var
FoundIndex: Integer; //查找字符串的起始索引
PrevStr, NextStr: String; //查找字符串前后的','
PrevFound, NextFound: Integer; //前后','的索引
begin
FoundIndex := Pos('广播',tempstr);
if FoundIndex > 0 then //判断是否找到
begin
PrevStr := Copy(tempstr, 1, FoundIndex - 1); //得到字符串前的字符串
NextStr := Copy(tempstr, FoundIndex, Length(tempstr)); //得到字符串后的字符串
PrevFound := Pos(',', PrevStr); //找PrevStr中的','
NextFound := Pos(',', NextStr); //找NextStr中的','
if PrevFound <= 0 then PrevFound := 0; //若前面没有','
if NextFound > 0 then //后面有','
ShowMessage(Copy(tempstr, PrevFound + 1, NextFound + FoundIndex - 1 - PrevFound - 1))
else //后面没有','
ShowMessage(Copy(tempstr, PrevFound + 1, Length(tempstr)));
end
else ShowMessage('没有找到该字符串!');
end;
 
最好用AnsiPos,与Pos不同的是这个函数支持双字节字串
 
顶部