按最后一个分隔符拆分字符

23 c#

我所拥有的是一个巨大的文本文件,其中包含一堆被拆分的字符串\.对我来说问题是可以有5 \或4 \或3 \.

\无论有多少人,我需要把它拉到最后.任何帮助表示赞赏.

例子:

I\need\this
I\want\line\this
Hello\give\me\all\this

我需要这个词this,但显然这不仅仅是单词this.

Mat*_*ott 53

string last = inputString.Substring(inputString.LastIndexOf('\\') + 1);
Run Code Online (Sandbox Code Playgroud)

  • 空检查是正确的,应该经常检查.关于LastIndexOf(..)+ 1的好处是,对于无法找到的字符,LastIndexOf(..)将返回-1,因此最终结果是从位置0获取子字符串,这是开始字符串,所以返回整个字符串. (11认同)

Ant*_*ram 18

string myString = inputString.Split('\\').Last();
Run Code Online (Sandbox Code Playgroud)

  • .NET规则34 - 如果存在,则有LINQ.:-) (5认同)
  • 也许应该是`LastOrDefault()`以获得额外的安全性 (2认同)

Fly*_*179 6

差点忘了这个(尽管有点厚脸皮):

string result = Path.GetFilename(input);

  • 我会接受它只适用于Windows的事实可能是相关的,但这并不是声称它质量低的合理论据.在某些情况下,大多数答案都不起作用.事实上,OP没有解释为什么他想这样做,完全有可能提取文件名正是他想要做的,当然它可能是另一个寻找答案的读者的理想选择. (3认同)