如何用CString的库函数截取字符串中间的一段?
例如CStringstr=_T("http://www.baidu.com/.....xxx.jpg?ateccgderggdsfdafa");我想截取jpg就是最后一个...
例如 CString str = _T("http://www.baidu.com/.....xxx.jpg?ateccgderggdsfdafa");
我想截取jpg 就是最后一个.和?之间的字符串
该如何实现? 展开
我想截取jpg 就是最后一个.和?之间的字符串
该如何实现? 展开
2个回答
展开全部
int i = str.Find('?');
str.Left(i);
或者为了避免从左查找可能有多个?,使用如下的从右查找函数。
int i = str.ReverseFind('?');
str.Left(i);
str.Left(i);
或者为了避免从左查找可能有多个?,使用如下的从右查找函数。
int i = str.ReverseFind('?');
str.Left(i);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str = str.Left(str.Find('?'));
str = str.Right(str.GetLength()-1-str.ReverseFind('/'));
AfxMessageBox(str);
实现了
str = str.Right(str.GetLength()-1-str.ReverseFind('/'));
AfxMessageBox(str);
实现了
追问
麻烦您说的详细一点
追答
抱歉 理解错题意 了 我再改改
CString str = _T("http://www.baidu.com/.....xxx.jpg?ateccgderggdsfdafa");
str = str.Left(str.Find('?'));
str = str.Right(str.GetLength()-1-str.ReverseFind('.'));
AfxMessageBox(str);
这样就对了
第一行 str = http://www.baidu.com/.....xxx.jpg
查找 ? 位置 从左侧取到?位置长度
第二行 从后倒查 str = http://www.baidu.com/.....xxx.jpg 中的 第一个 . 位置
从右侧取 总长度 减去 / 位置长度 再减去1 (可以自己试试有什么差别)的长度
就是要的字符串 jpg 了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询