如何在字符串中搜索模式
本文关键字:搜索 模式 字符串 | 更新日期: 2023-09-27 18:09:31
我有一个字符串,它包含以下输出
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
还要确保删除string case1 = "";
if(case1.Contains("audit;failure"))
console.writeline("success"!);
我想你只需要调整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"!);
}
简单地使用String.Contains()
,使用如下代码
if(sr.Contains("audit;failure")
{
}
一种方法是先将这一行分成几行。
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";
这将返回"audit"后面的内容,并且很容易调整以返回您需要的任何内容。如果没有审计行,将触发最后的返回。