2016-07-12 10 views
0

Ich habe Problem, Text mit bestimmtem Format zu suchen. Meine Datei sieht wie folgt aus.Suchzeichenkette entsprechend spezifischem Format

britney  ak4564gc1 18 
scott  ak3333hc2 28 
jenny  ad4564gc3 32 
amy   ak4564gc4 29 

Ich möchte nach Arbeitsnummer mit bestimmten Format suchen, die dynamisch ist. Hier ist mein Code. Das Format muss eine spezifische Länge haben mit * als Änderungsvariable.

kann mir jemand helfen?

+0

Was ist '*', ein beliebiges Zeichen mit beliebiger Länge? –

+1

Try Regex-Klasse versuchen https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx – MichaelMao

+0

ja, das ist richtig tim –

Antwort

1

Ich empfehle die Verwendung regulären Ausdrücken mit Linq, z.

string pattern = @"\bak.{3}gc.{1}\b"; 

var result = File 
    .ReadLines(OriFile) 
    .Select(line => Regex.Match(line, pattern)) // if we expect at most one match per line 
    .Where(match => match.Success) 
    .Select(match => match.Value); 

... 

File.WriteAllLines(reportfile, result. 
    Select(line => string.Format("{0} {1} {2}", 
    Path.GetFileName(OriFile), line, Path.GetFileName(MergeFile)))); 
+0

der Wert "ak ** * gc * "müssen in der Lage sein, zufällig durch das Textfeld tatsächlich zu ändern. Ich füge direkt ein Beispielformat für das gegenseitige Verständnis ein. Mit Regex muss ich das Format beheben. –

Verwandte Themen