关于读取字符串的问题
我想请教大家,如何实现以下要求的字符串的读取.
例如 http://www.******.com/aaa/bbb.rar
http://www.??????.com/ccc4444/ttt.rar
我想每读入以上一个字符串(AnsiString类型)能得出相应的结果:
bbb.rar
ttt.rar
问题点数:20、回复次数:5Top
1 楼haiqian119(海嵌)回复于 2005-11-02 10:14:46 得分 0
AnsiString Str="http://www.??????.com/ccc4444/ttt.rar";
TStringList *ss = new TStringList();
ss->Text = StringReplace(Str,"/","\n",TReplaceFlags()<< rfReplaceAll);
AnsiString Result=ss->Strings[ss->Count-1];Top
2 楼sjchao(阳光流溢)回复于 2005-11-02 10:23:12 得分 5
刚好我写了一个这样的函数,呵呵
AnsiString __fastcall GetFileNameFromURL(AnsiString url)
{
int len=url.Length();
int index; //记录最后一个‘/’的位置
for (int i=1;i<=len;i++)
{
if (url[i]=='/')
index=i;
}
AnsiString temp=url.SubString(index+1,len-index).Trim();
return temp;
}Top
3 楼ccrun(老妖)(www.ccrun.com)回复于 2005-11-02 10:27:27 得分 15
有个比较简单的方法,就是用String类的LastDelimiter:
String str = "http://www.??????.com/ccc4444/ttt.rar";
ShowMessage(str.SubString(str.LastDelimiter("/") + 1, str.Length()));Top
4 楼XBox360(菜)(鸟)回复于 2005-11-02 14:44:07 得分 0
定位到最后一个/的位置
然后substringTop
5 楼kinglh(用Delphi想BCB)回复于 2005-11-03 11:50:19 得分 0
LastDelimiter()是个好东西,用了String这么久,今天才发现。Top




