如果我有
,我想从URI中获取页面名称"/Pages/Alarm/AlarmClockPage.xaml"
我想获得AlarmClockPage
我试过
//usage GetSubstring("/", ".", "/Pages/Alarm/AlarmClockPage.xaml")
public static string GetSubstring(string a, string b, string c)
{
string str = c.Substring((c.IndexOf(a) + a.Length),
(c.IndexOf(b) - c.IndexOf(a) - a.Length));
return str;
}
但是因为搜索的字符串可能包含一个或多个正斜杠,所以我认为这种方法在这种情况下不起作用。
那么我如何考虑可能出现的多个正斜杠?
答案 0 :(得分:2)
为什么不使用框架中已有的方法?
System.IO.Path.GetFileNameWithoutExtension(@"/Pages/Alarm/AlarmClockPage.xaml");
答案 1 :(得分:0)
如果您只想使用字符串函数,可以尝试:
var startIdx = pathString.LastIndexOf(@"/");
var endIdx = pathString.LastIndexOf(".");
if(endIdx!=-1)
{
fileName = pathString.Substring(startIdx,endIdx);
}
else
{
fileName = pathString.Substring(startIdx);
}
答案 2 :(得分:0)
它从给定的文件路径中提供文件名。试试这个
string pageName = System.IO.Path.GetFileName(@"/Pages/Alarm/AlarmClockPage.xaml");