我有一个包含以下输出的字符串
login;windows
db;sql
audit;failure
如何检查此字符串是否包含“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
提前结束! :d
答案 0 :(得分:3)
还要确保删除第string case1 = "";
行
if(case1.Contains("audit;failure"))
console.writeline("success"!);
答案 1 :(得分:0)
我认为你只需要调整case1字符串........
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"!);
}
答案 2 :(得分:0)
只需使用String.Contains()
,即可使用以下代码
if(sr.Contains("audit;failure")
{
}
答案 3 :(得分:0)
这样做的一种方法是先将它分成几行。
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";
这将返回“审核”背后的任何内容,并且很容易适应您需要的任何内容。如果没有审计线,将触发最终回报。