2016-06-30 4 views
2

特定の単語を特定し、その単語を含む行の残りの部分を印刷する文字列があります。特定の単語を文字列に配置し、残りの行を印刷します。

文字列例:

NumberofCars: 12 
    NumberofBikes: 3 
    NumberofShoes: 6 

だから私は、文字列でNumberofBikes後に何が来るのかを知りたいと言うが、他にはないもの(すなわちNumberofShoes。)。コンソールは単に "3"を出力します。

私が持っていたいものの

コード例:

if string.Contains("NumberofBikes") 
    { 
     Console.Writeline(Rest of that line); 
    } 
+0

ようこそを見ることができます! [ツアー](http://stackoverflow.com/tour)、[ヘルプセンター](http://stackoverflow.com/help)、[良い質問をする方法](http://このサイトがどのように機能するかを確認し、現在および将来の質問を改善するのに役立ち、より良い回答を得るのに役立ちます。 –

+0

いくつかのコードから始めます。何が得られるのかははっきりしない。 – sphinks

+0

プログラミング言語でタグを追加したり、プログラミング言語を記述してください。 –

答えて

1

あなたはそのためRegexを使用することができます。あなたの言葉の後にキャプチャする桁のグループを探します(キャプチャしたい桁が常にあることを前提とします)。キャプチャグループでは、価値を取り戻すことができます。ここではサンプルコードは次のとおりです。

// The original string to search within. 
string s = "NumberofCars: 12\r\nNumberofBikes: 3\r\nNumberofShoes: 6"; 
// The search value. 
string search = "NumberofBikes"; 
// Define a regular expression for executing the search. 
Regex rgx = new Regex(search + @".*?(\d+?)", RegexOptions.IgnoreCase); 
// Find matches. 
MatchCollection matches = rgx.Matches(s); 
if (matches.Count > 0 && matches[0].Groups.Count > 1) //At least one match was found and has a capturing group. 
{ 
    Console.WriteLine(matches[0].Groups[1]); //Return the first capturing group of the first match. 
} 

あなたは、スタックオーバーフローにdemo here

関連する問題