Something.Text包含两个字符串

时间:2018-05-22 12:14:58

标签: c#

我可以选择多个文本到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。

2 个答案:

答案 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);