2011-09-23 6 views
2

は私が文字列内のパターンを検索する方法は? 「;失敗の監査」

login;windows 
db;sql 
audit;failure 

は、どのように私はこの文字列は単語が含まれているかどうかをチェックします次の出力を含む文字列を持っていますか?

私は、次のコードを使用していたが成功しませんでした:

currLine = sr.ReadToEnd(); 
string[] splited = Regex.Split(currLine, "~~~~~~~~~~~~~~"); 
case1 = splited[0]; 
string case1 = ""; 
string pattern1 = "audit;failure"; 
if (Regex.IsMatch(case1, pattern1)){ 
console.writeline("success"!); 
} 

私は変数case1ではなく、文字列currLine事前に thaksを検索しなければなりません! :D

+0

[string.Contains](http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx)を試してみましたか? – Reniuz

答えて

3

はまた、あなたがラインstring case1 = "";

if(case1.Contains("audit;failure")) 
    console.writeline("success"!); 
+0

おっと!ありがとう! –

+0

@ user866800編集を参照してください – Kimtho6

0

私はあなただけのケース1の文字列を調整する必要があると思うを削除することを確認してください........

string case1 = ""; 
currLine = sr.ReadToEnd(); 
string[] splited = Regex.Split(currLine, "~~~~~~~~~~~~~~"); 
case1 = splited[0]; 
string pattern1 = "audit;failure"; 
if (Regex.IsMatch(case1, pattern1)){ 
console.writeline("success"!); 
} 
0

単にString.Contains()を使用し、次のようなコードを使用してください。

if(sr.Contains("audit;failure") 
{ 

} 
0

これを行う方法の1つは、最初にliに分割することですnes。

string[] lines = sr.split (new string[]{ Environment.LineBreak}); 
foreach(string line in lines){ 
    string[] parts = line.split(new char[] {';'}); 
    if(parts[0] == "audit") 
     return parts[1]; 
} 
return "not set"; 

これは「監査」の背後にあるものを返し、必要なものを簡単に返すことができます。監査ラインが存在しない場合、最終的なリターンがトリガーされます。

関連する問題