0

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

下一篇:准尉二级
21,202 / 33,000
21,202 / 33,000

这是我从很长的文本中获得的子字符串。现在“二等警官”以及数字可以是动态的(我正在从网页加载这些变量)如果有一个或数百个数字,它不会附加 0,所以少于一千的 exp 看起来像“478”而不是 00,478。

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

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

但是我将如何帮助确定获得排名的计数?或者创建一个包含所有等级和每个等级长度的数组会很简单吗?

4

1 回答 1

2

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

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

这将匹配Next:以名称、Grade单词和级别开头的所有行。name和组的捕获值level可以稍后检索

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

或以您想要的方式修改它。

正则表达式操场:Derek Slager 的更好的 .NET 正则表达式测试器

于 2012-04-25T07:36:46.543 回答