Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按最后一个分隔符拆分字符串_C# - Fatal编程技术网

C# 按最后一个分隔符拆分字符串

C# 按最后一个分隔符拆分字符串,c#,C#,我拥有的是一个巨大的文本文件,其中包含由\拆分的一串字符串。我的问题是可能有5个\或4个\或3个\ 我需要做的是拉最后一个\,不管有多少个。感谢您的帮助 示例: I\need\this I\want\line\this Hello\give\me\all\this 我需要这个 我想要这个 你好\give\me\all\this 例如,我需要这个这个词,但显然不仅仅是这个这个几乎忘记了这个词(尽管它有点厚脸皮): string myString = inputString.Split('\\').

我拥有的是一个巨大的文本文件,其中包含由
\
拆分的一串字符串。我的问题是可能有5个
\
或4个
\
或3个
\

我需要做的是拉最后一个
\
,不管有多少个。感谢您的帮助

示例:

I\need\this I\want\line\this Hello\give\me\all\this 我需要这个 我想要这个 你好\give\me\all\this 例如,我需要
这个
这个词,但显然不仅仅是
这个
这个

几乎忘记了这个词(尽管它有点厚脸皮):

string myString = inputString.Split('\\').Last();

string result=Path.GetFilename(输入)

+1:需要注意的是,如果(!string.IsNullOrEmpty(inputString))中没有“\”,那么您需要检查整个字符串:)空检查是否正确,应该始终检查这一点。LastIndexOf(..)+1的好处是,对于找不到的字符,LastIndexOf(..)将返回-1,因此最终结果是子字符串从位置0(字符串的开头)获取,因此返回整个字符串。在所有方面都同意,但如果没有“\”则要求返回一个空字符串。我只是说,人们应该检查哪些是必需的行为。.网络规则34-如果它存在,就有它的LINQ。:-)可能应该是
LastOrDefault()
,以获得额外的安全性?我本以为在最坏的情况下(inputstring==string.Empty),
inputstring.Split('\\')
仍然会返回一个字符串数组,当然==string.EmptyGive不带“\”的字符串,函数应该返回整个字符串还是空字符串?e、 g.如果它返回“Hello”或“Hello”,则将其传递为“Hello”?这并不提供问题的答案。若要批评或要求作者澄清,请在其帖子下方留下评论。由于质量低下,该评论已被标记。事实上,它只在Windows上工作。(我意识到问题是关于C#,它通常在Windows环境中使用,但它可以通过Mono移植到其他平台。)我承认它只在Windows上工作这一事实可能是相关的,但这并不是声称它质量低的正当理由。大多数答案在某些情况下不起作用。事实上,OP没有解释他为什么要这样做,完全有可能提取一个文件名正是他想要做的,当然这对于另一个正在为此寻找答案的读者来说是非常理想的。
string last = inputString.Substring(inputString.LastIndexOf('\\') + 1);