c#中的字符串切割问题

在C#用split切割文件路径,代码如下:

 string FailPath= “c:\\Users\\Anna\\Desktop\\Demo\\Demo.c”;
string str= “Demo”;
string Failename = Regex.Split(FailPath,str)[1];
我想要的结果是得到\\Demo.c,但是得到的却是\\,验证发现只要分割字符串的下一级名字与之相同,就只能得到这两个相同字符串之间的东西,我把str= “Demo”改为str= “Demo\\”结果运行时Split函数报错。求大神指教如何才能得到后面的那部分
c#

3个回答

如果仅仅限于这个问题,你可以这样:
string filePath = “c:\Users\Anna\Desktop\Demo\Demo.c”;
string splitStr = "\";//不能直接打"\"因为'\'是转义字符;
var splitIndex = filePath.LastIndexOf(splitStr);//取最后一个"\"的位置;
string singleFileName = filePath.SubString(splitIndex+1,filePath-splitIndex-1);
//singleFileName即是你想要的文件名;

NetDomainer
NetDomainer 错了,string splitStr = "\\";
大约 3 年之前 回复

如果仅仅限于这个问题,你可以这样:
string filePath = “c:\Users\Anna\Desktop\Demo\Demo.c”;
string splitStr = "\";//不能直接打"\"因为'\'是转义字符;
var splitIndex = filePath.LastIndexOf(splitStr);//取最后一个"\"的位置;
string singleFileName = filePath.SubString(splitIndex+1,filePath.Length-splitIndex-1);
//singleFileName即是你想要的文件名;


        string FailPath = "c:\\Users\\Anna\\Desktop\\Demo\\Demo.c";
        Response.Write(System.IO.Path.GetFileName(FailPath));
showbo
支付宝加好友偷能量挖 或者 string[]arr=FailPath.Split('\\');Response.Write(arr[arr.Length-1]);
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问