我可以选择多个文本到SelectedFileText
something\text.css
something\multiple.php
我的代码是
string NameParser = SelectedFileText.Text;
string[] words = NameParser.Split('\\');
string myLastWord = words[words.Length - 1];
我可以解析文本,因此它只显示 multiple.php ,但问题是我需要将两行都输出,而不仅仅是最后一行。所以它像这样工作
text.css
multiple.php
抱歉有点不清楚。我已经解决了如何获取文件名path.GetFilename。
的问题问题是SelectedText.text属性包含两行,包含完整的文件名和目录,我只是使用NameParser来解析它继承文本的SelectedFileText.text。
答案 0 :(得分:2)
我建议Path.GetFileName例如
// Actually, myLastWord is a file name like "text.css" or "multiple.php"
string myLastWord = Path.GetFileName(SelectedFileText.Text);
如果您想要所有文本除之外的文件名(即目录名),Path
课程会再次帮助(通过Path.GetDirectoryName )
string dirName = Path.GetDirectoryName(SelectedFileText.Text);
修改:如果您有多行文字(请参阅下面的评论)并且您有提取文件'您可以尝试 Linq :
的名称 string[] fileNames = string
.Split(SelectedFileText.Text,
new char[] { '\r', '\n'},
StringSplitOptions.RemoveEmptyEntries)
.Select(line => Path.GetFileName(line))
.ToArray();
答案 1 :(得分:2)
如果您的SelectedText.Text属性包含两行(或多行)文本,其中包含完整文件名,并且您只想检索可以使用的所有行的文件名
var parts = NameParser.Split(Environment.Newline)
.Select(x => Path.GetFilename(x));
foreach(string s in parts)
Console.WriteLine(s);