100分:如何在字符串中得到标志字符之间的字符串?

fromv 2002-10-10 03:45:08
char *s1="safd&()_12345678_sdfjm";
需要得到"_"之间的字符串"12345678"?
...全文
70 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fromv 2002-10-10
  • 打赏
  • 举报
回复
分已送出。
szbug 2002-10-10
  • 打赏
  • 举报
回复
用AnsiString的pos然后截取就行了。
fromv 2002-10-10
  • 打赏
  • 举报
回复
谢谢大家。learninging...
windtransient 2002-10-10
  • 打赏
  • 举报
回复
AnsiString ss = sl;
int i;
i = ss.Pos("_");
ss.Delete(1,i);
i = ss.Pos("_");
ss.Delete(i,ss.Length()-i);
//ss就是你想要的
zbc 2002-10-10
  • 打赏
  • 举报
回复
AnsiString s = "34534454_zbcgsx_253534";
s = s.SubString(s.Pos("_")+1,s.Length());
s = s.SubString(1,s.Pos("_")-1);
ShowMessage(s);
bluebird97073 2002-10-10
  • 打赏
  • 举报
回复
AnsiString s1="safd&()_123456789676773_sdfjm";
int i=s1.Pos("_");
s1=s1.Delete(1,i);
s1=s1.SubString(1,s1.Pos("_")-1 );
ShowMessage(s1);
李志林HZ 2002-10-10
  • 打赏
  • 举报
回复
一时大意,写错了,第5行的“空格”应该为“标志字符”,还有后面的注释Substr的值是变为“12345678_sdfjm”,不是“321 98767”。
李志林HZ 2002-10-10
  • 打赏
  • 举报
回复
用AnsiString声明你的字符串。代码如下:

AnsiString Str="/*你的字串*/";
AnsiString Substr;
int j=Str.Pos("/* 标志字符*/ ");
Substr=(Str.Delete(1,j)).Trim();
j=Substr.Pos("/* 空格*/ ");//注意,j的值变为第二个标志字符的位置。还有,Substr的值也变为321 98767
Substr=(Substr.SubString(1,j-1)).Trim();
ShowMessage(Substr);//你可以看到Substr就是你要的标志字符中间的字符了
ilovebcb2000 2002-10-10
  • 打赏
  • 举报
回复
做个循环取

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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