如何确定动态文本中子字符串的计数?

时间:2012-04-25 07:14:37

标签: c# string substring

好的,所以我有这个字符串。

  

下一篇:2级准尉官员   21,202 / 33,000
  21,202 / 33,000

这是我从很长的文本中获得的子字符串。现在“Warrent Officer Grade 2”以及数字可以是动态的(我正在从网页上加载这些变量)如果有一个或数百个数字它不会附加0,那么exp不到一千就会看起来比如“478”而不是00,478。

现在我的问题是如何获得“二级准尉”?我已经有了这个

int indexOfNext = myString.IndexOf("Next") + 6;  
//Below is what I need to obtain  
int count = 0;  
string newString = myString.Substring(indexOfNext, count);

但是,我如何帮助确定获得排名的数量?或者只是简单地创建一个包含所有等级和每个等级长度的数组?

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式搜索名称和级别,例如

var regExp = new Regex(@"^Next: (?<name>[^\d]+) Grade (?<level>[\d]+)");

这将匹配以Next:开头的所有行,后跟名称Grade字和级别。以后可以检索namelevel组的捕获值

var match = regExp.Match(input);
var level = match.Groups["level"].Value; 

或以您希望的方式修改它。

正则表达式游乐场:Derek Slager's A Better .NET Regular Expression Tester