2016-07-25 3 views
1

が含まれていますC#複数の文字列は、基本的に私は、複数の文字列を、現在のコード例を検出したい

if (!str3.Contains("example1")) 
{ 
    continue; 
} 

は、どのように私は、「例1」を追加している、「例2」&「例3」

を使用でき
+1

通常、複数の条件をテストするのと同じ方法です。それらを '&&'または '||'と一緒に使用します。たとえば、次のようになります。 'if(!str3.Contains(" example1 ")&&!str3.Contains(" example2 ")...)' –

+0

すべてまたはいずれかを検出しますか? –

+0

もしあなたがたくさんいるなら、 'List 'のような 'IEnumerable 'を作成し、それを適切なロジックを使ってループして外側のループから抜け出すことができます。 –

答えて

5

Linqあなたが大規模なリストをテストする場合:

var excludes = new[] { "example1", "example2", "example3" }; 

//your loop here 
{ 
    if (!excludes.Any(x => str3.Contains(x))) 
    { 
     continue; 
    } 
} 
0

を個人的に、私はそれを手動であなたのコードを拡大する問題を解決するため、ループの方法を好みます。たとえば...

public void MyMethod(string param) 
{ 
    var myList = new string[] 
    { 
     "example1", 
     "example2", 
     "example3" 
    }; 
    foreach (var item in myList) 
    { 
     if (!param.Contains(item)) continue; 
    } 
    //Do something here 
} 

基本的には、検索するアイテムのコレクションを作成しています。これを使用してループし、ターゲット文字列と比較します。

私は関数の全範囲を知らないので、正確には追加できませんが、これはすでにかなり基本的です。

0

文字列が特定のパターンに従う場合、Regexは常にきれいなオプションです。

文字列はなど、 "例1"、 "例2" であれば、あなたはこの正規表現を使用することができます。

/example[0-9]+/g 

第一及び第二試合(ソース:http://www.dotnetperls.com/regex):見つけるためにいくつかのC#

// Get first match. 
Match match = Regex.Match(str3, @"example[0-9]+"); 
if (match.Success) 
{ 
    //matched one of the strings 
} 

// Get second match. 
match = match.NextMatch(); 
if (match.Success) 
{ 
    //process second match 
} 
関連する問題