导航
  • 主页
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发
  • 问答

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

fromv 2002-10-10 03:45:08
char *s1="safd&()_12345678_sdfjm";
需要得到"_"之间的字符串"12345678"?
...全文
25 点赞 收藏 9
写回复
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
做个循环取
回复
发动态
发帖子
C++ Builder
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
社区公告
暂无公告