c++ / c# 怎么从一个路径的string获取最后一个“\”之后的字符...
例如:stringfolder="C:\Users\Desktop";//想从folder中获取字符串"Desktop"stringfile="C:\Users\Desk...
例如:
string folder = "C:\Users\Desktop";
//想从folder中获取 字符串"Desktop"
string file = "C:\Users\Desktop\ReadMe.txt";
//想从file中获取 字符串 "ReadMe.txt"
//当然最后那个字符串的长度 是随机的,也就是说没有办法通过下面的代码搞定
int length = 5;
string newstring = folder.SubString(folder.Length - length,length);
然后:
我记得在mfc中看过别人写过 类似于这样的一种思路的代码:
//反向搜索string 中 '\'第一次出现的地方,然后直接截取 '\'之后的字符串.....
今天在c#里面看到,可以通过 string.split 函数来讲整个字符串 按 '\' 的间隔拆分成多个字符串,然后就可以拿到最后那个数据了...
那么,最后,我想知道,要实现上面的功能,用c++或者c#分别怎么实现呢??
谢谢..... 展开
string folder = "C:\Users\Desktop";
//想从folder中获取 字符串"Desktop"
string file = "C:\Users\Desktop\ReadMe.txt";
//想从file中获取 字符串 "ReadMe.txt"
//当然最后那个字符串的长度 是随机的,也就是说没有办法通过下面的代码搞定
int length = 5;
string newstring = folder.SubString(folder.Length - length,length);
然后:
我记得在mfc中看过别人写过 类似于这样的一种思路的代码:
//反向搜索string 中 '\'第一次出现的地方,然后直接截取 '\'之后的字符串.....
今天在c#里面看到,可以通过 string.split 函数来讲整个字符串 按 '\' 的间隔拆分成多个字符串,然后就可以拿到最后那个数据了...
那么,最后,我想知道,要实现上面的功能,用c++或者c#分别怎么实现呢??
谢谢..... 展开
5个回答
展开全部
问的是怎么调用还是相应成员函数/方法的内部实现?
如果是问调用的话,MFC是调用CString的成员函数,即ReverseFind('\\'),根据返回的索引值进行相应判断和处理。
C#是取split后的string数组的最后一个元素(string),注意处理空字符串的问题。
另外,务必注意反斜杠的转义字符表示法。
也就是说问题中的第一个字符串应该这样定义
string folder = "C:\\Users\\Desktop";
使用char类型的反斜杠时也应表示为'\\'
如果是问调用的话,MFC是调用CString的成员函数,即ReverseFind('\\'),根据返回的索引值进行相应判断和处理。
C#是取split后的string数组的最后一个元素(string),注意处理空字符串的问题。
另外,务必注意反斜杠的转义字符表示法。
也就是说问题中的第一个字符串应该这样定义
string folder = "C:\\Users\\Desktop";
使用char类型的反斜杠时也应表示为'\\'
展开全部
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
!!!
用 IndexOf / LastIndexOf
反向搜索也许,GetCharAt(int index) 之类的,从字符串长度-1位置开始检索,每次索引减一
看这个char是不是 '\\',就能确定位置了
用 IndexOf / LastIndexOf
反向搜索也许,GetCharAt(int index) 之类的,从字符串长度-1位置开始检索,每次索引减一
看这个char是不是 '\\',就能确定位置了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用一个while循环从字符串后面往前找找到第一个/,然后记住位置,往后拷贝字符串就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int p=s.Length-1;
while (p>=0 && s[p]!='\') p--;
if (p>-1) path=s.Substring(p, s.Length-p); // 123\abc
while (p>=0 && s[p]!='\') p--;
if (p>-1) path=s.Substring(p, s.Length-p); // 123\abc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询