如何从拆分结果中获取我想要的字符串C#

时间:2019-10-16 07:49:18

标签: c# split

因此,我得到了使用定界符" "的数据列表, 例如

TOTAL INVOICE          2,500,000  

好的,如果您想打印2,500,000,这很容易,因为您只需要这样做

string splittext = data.split(' ').Last();

但是当我尝试时它将返回“”; 当我检查数据时,字符串就像

string invoice = "TOTAL INVOICE      2,500,000   ";

2,500,000

后有 3个或更多空格

如何获取2,500,000?因此,我无法使用Last()方法。

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

您应该首先trim,因为这会删除所有前导和尾随空格:

string splittext = data.Trim().Split(' ').Last();

答案 1 :(得分:3)

您可以指定StringSplitOptions.RemoveEmptyEntries来摆脱空块;另一个建议是添加\t作为定界符,以便能够处理"TOTAL INVOICE\t\t2,500,000"(请注意制表符而不是空格)等字符串:

 var result = data
   .Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries)
   .Last();

答案 2 :(得分:1)

您有很多可能性,这里只是其中一些(未经测试)

  1. 添加到您当前的代码中,修剪.Last().Trim()-好
  2. 删除所有已分割字符串的空条目。 Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)-更好
  3. 为文本加上字符串并修剪结果-myTextVariable.Substring("TOTAL INVOICE".Length).Trim()-效率更高。