2016-06-30 36 views
2

Ich habe eine Zeichenfolge, in der ich ein bestimmtes Wort suchen möchte, und dann den Rest der Zeile mit diesem Wort drucken.Suchen Sie ein bestimmtes Wort in der Zeichenfolge und drucken Sie den Rest der Zeile

String Beispiel:

NumberofCars: 12 
    NumberofBikes: 3 
    NumberofShoes: 6 

Also sage ich wissen will, was nach NumberofBikes im String kommt, aber nicht etwas anderes (dh NumberofShoes.). Die Konsole sollte nur "3" drucken.

Code-Beispiel von dem, was ich haben will:

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

Willkommen bei Stack-Überlauf sehen können! Bitte gehen Sie durch die [Tour] (http://stackoverflow.com/tour), die [Hilfe-Center] (http://stackoverflow.com/help) und die [wie Sie eine gute Frage stellen] (http: // stackoverflow.com/help/how-to-ask), um zu sehen, wie diese Site funktioniert und um Ihnen zu helfen, Ihre aktuellen und zukünftigen Fragen zu verbessern, die Ihnen helfen können, bessere Antworten zu erhalten. –

+0

Beginnen Sie mit etwas Code. Es ist nicht klar, was zu bekommen ist. – sphinks

+0

Bitte fügen Sie ein Tag mit oder beschreiben Sie Ihre Programmiersprache. –

Antwort

1

Sie Regex dafür verwenden können. Suchen Sie nach Ihren Wörtern, gefolgt von einer erfassenden Gruppe von Ziffern (vorausgesetzt, Sie haben immer Ziffern, die Sie erfassen möchten). Mit der Erfassungsgruppe können Sie den Wert zurückerhalten. Hier ist ein Beispielcode:

// 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. 
} 

Sie einen demo here

Verwandte Themen