2016-06-21 6 views
0

正確な文字列を知らずにグループを識別する方法を探しています。文字列はリストごとに異なる場合がありますが、パターンの繰り返しは見て分かります。 REGEX式は一度も使用していませんが、使用し始めていないので、これは見た目よりも難しいと感じています。文字列のリストでのパターンの検索とグループの特定

ゾーン1

Zone1ModuleA

Zone1ModuleB

Zone1ModuleAWheel1

Zone1ModuleAWheel2

Zone1ModuleBWheel1

Zone1ModuleBWheel2

Zone2の

Zone2ModuleA

Zone2ModuleB

Zone2ModuleAWheel1

Zone2ModuleAWheel2

Zone2ModuleBWheel1

Zone2ModuleBWheel2

リストには、これらのパターンのより大きなリストが含まれます。これらの名前は将来変更される可能性がありますので、パターンを認識できるようにしたいと考えています。最終結果は、すべてゾーン,ModuleA,ModuleB,ModuleAWheel1 ...などと一致します。私はREGEXのチュートリアルを掘り下げており、助けていただければ幸いです!これはあなたがachiveしたいものであれば、あなたはこれを試みることができるおかげで

答えて

0

は、私にはわからない、:

void Main() 
{ 
    var regex = new Regex(@"[A-Z][^A-Z]*[AB]?"); 
    var lines = linesInFile 
     .Replace("\\r", "") 
     .Split(new[] { '\n' }) 
     .Where(i => !string.IsNullOrEmpty(i)); 

    var listOfTokens = new List<string>(); 

    foreach (var line in lines) 
    { 
     foreach (Match match in regex.Matches(line)) 
     { 
      var value = match.Value; 
      if (!listOfTokens.Contains(value)) 
      { 
       listOfTokens.Add(value); 
      } 
     } 
    } 

    listOfTokens.Dump(); 
} 

// Define other methods and classes here 

private string linesInFile = @"Zone1 
Zone1ModuleA 
Zone1ModuleB 
Zone1ModuleAWheel1 
Zone1ModuleAWheel2 
Zone1ModuleBWheel1 
Zone1ModuleBWheel2 
Zone2 
Zone2ModuleA 
Zone2ModuleB 
Zone2ModuleAWheel1 
Zone2ModuleAWheel2 
Zone2ModuleBWheel1 
Zone2ModuleBWheel2"; 
+0

はあなたの助けをありがとう、私は他の方法は、周りの名前を見たが、まだ非常に使用しましたプロジェクトの別のセクションで同様のソリューション – Tyler

関連する問題