Delphi如何得到字符串中同一字符的不同位置?

Delphi如何得到字符串中同一字符的不同位置?例如有一个字符串为“你在哪里D+7657saf4ds+qwerwerwe85+我们是545646+的”,我们如何才能得到字... Delphi如何得到字符串中同一字符的不同位置?
例如有一个字符串为“你在哪里D+7657saf4ds+qwerwerwe85+我们是545646+的”,我们如何才能得到字符“+”的位置分别为10、21、33、46 呢?
Delphi如何得到字符串中某一字符所在的不同位置?
例如有一个字符串“你在哪里D+7657saf4ds+qwerwerwe85+我们是545646+的”中的字符“+”,如何得到它所在的位置分别为10、21、33、46 呢?
展开
 我来答
renzhumin2
2011-03-12 · TA获得超过163个赞
知道小有建树答主
回答量:173
采纳率:0%
帮助的人:272万
展开全部
pos循环比较一下就可以了。

procedure TForm1.Button1Click(Sender: TObject);
var
i,x : integer;
ResultStr,surStr : string;
begin
surStr := '你在哪里D+7657saf4ds+qwerwerwe85+我们是545646+的';
ResultStr:='字符出现在:';
x:=0;
//判断字符串出现源字符串的位置
while Surstr<>''do //源字符串为空,退出
begin
i := pos('+',SurStr);
if i >0 then
begin
x := x+i; //与出现的位置和累加
ResultStr := ResultStr+'第'+IntToStr(x)+'位,';
Delete(surStr,1,i); //删除前面比较过的数据

end else break; //比较结果小于等于0,退出
end;
showmessage(ResultStr);
{
//判断单字符在字符串中的位置
for i := 1 to Length(Surstr) do
begin
if SurStr[i]='+' then
ResultStr := ResultStr+'第'+IntToStr(i)+'位,';
end;
ShowMessage(ResultStr);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式