0

わかりました、私はこの文字列を持っています。

次へ:准尉グレード2
21,202 / 33,000
21,202 / 33,000

それは私が長いテキストから得た部分文字列です。これで、「Warrent Officer Grade 2」と数値を動的にすることができます(これらの変数はWebページからロードしています)。1または100に数値がある場合、0は追加されないため、1,000未満のexpは次のようになります。 00,478の代わりに「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; 

または、必要に応じて変更します。

Regexの遊び場:DerekSlagerのABetter.NET正規表現テスター

于 2012-04-25T07:36:46.543 に答える