2016-08-31 9 views
0

特定の文字列から特定の文字をフェッチする方法を知りたい。例のため文字列から特定の文字をフェッチする

、 条件はS1、S2、S3及びS4である場合、コードは、それぞれ1、2,3,4を返すべき次の文字列を

Value.1.name = S1 
Value.2.name = S2 
Value.3.name = S3 
Value.4.name = S4 

を考えます。 つまり、2つの期間の間に値を取得するだけで、Value.1.nameは1を返します。

+0

あなたが尋ねていることは不明です。 'Value.1.name'は無効な変数名です。また、「S1」が何であるかは不明です。あなたの質問に言い直し、説明と正しいコードを追加してください。 –

+3

どのようなコード、どのような条件ですか?私はあなたの質問が現時点でかなり混乱しているのではないかと心配しています。 [mcve]は本当に助けになるでしょう。理想的には、ここでWinformsに固有のものは何も表示されないので、コンソールアプリケーションとして理想的です。 –

+0

詳細情報、Value.1の意味は何ですか?文字列の詳細については、http://www.dotnetperls.com/stringを参照してください。 –

答えて

1

質問が不明です。私が理解したことは、「S」の後の数字と一致する場合、点の間の数を抽出しなければならないということです。

例: "Value.1.name = S1"は正常です。 "Value.1.name = S2"はOKではありません。

これが当てはまる場合は、正規表現を使用してください。

var input = "Value.1.name = S1"; 

var result = Regex.Matches(input, @"\.(\d)\..*S\1"); 
foreach(var match in result.Cast<Match>()) 
    Console.WriteLine(match.Groups[ 1 ].Value); 
関連する問題