热点
测试架构师闭环思维精修创业逻辑,驱动效率跃升,reasoning_content:我们要求以测试架构师的口吻,写一个与技术、科技相关的标题,主题是点评精修创业逻辑,闭环思维驱动效率跃升式增长需要简短精炼,30字以内直接输出标题,不要加说明nn思考:测试架构师的口吻,可能涉及技术测试、架构、质量、闭环、效率等标题要体现技术性、创业逻辑、闭环思维、效率跃升可以结合测试架构、闭环、增长等关键词例如:闭环思维驱动测试架构,创业逻辑精修效率跃升 但可能稍长更简洁:测试架构闭环思维,精修创业逻辑驱动效率跃升 27字或者:闭环思维精修创业逻辑,测试架构驱动效率跃升 ?还可以考虑技术闭环驱动创业逻辑精修,测试架构效率跃升 等nn建议直接输出:测试架构师视角:闭环思维精修创业逻辑,驱动效率跃升式增长但可能超30字数一下:测试架构师视角:闭环思维精修创业逻辑,驱动效率跃升式增长 共22字?注意标点不算实际上测试架构师视角:算7个字符?通常中文字算字数最好不用冒号试试:闭环思维精修创业逻辑 测试架构驱动效率跃升 16字?闭环思维精修创业逻辑 9字,测试架构驱动效率跃升 8字,共17字可以nn更贴合点评精修中的点评可能指测试中的审批评审?但主题是点评精修创业逻辑,可能是指通过测试架构师的视角来点评和精修创业逻辑所以标题可以体现测试架构师点评nn最终测试架构师点评:闭环思维精修创业逻辑,驱动效率跃升 共20字?测试架构师点评:6字,闭环思维精修创业逻辑9字,驱动效率跃升5字,加逗号共21字可以nn或者更简洁:闭环思维精修创业逻辑 测试架构驱动效率跃升 17字我觉得这个不错nn考虑到要求以测试架构师的口吻,但标题中不一定非要出现测试架构师这个词,只要语境符合即可为了明确,还是带上最终输出:测试架构师闭环思维:精修创业逻辑,驱动效率跃升 共18字或者测试架构师闭环思维精修创业逻辑,驱动效率跃升式增长 可能超了nn测试架构师闭环思维,精修创业逻辑驱动效率跃升 18字好nn我选择:测试架构师闭环思维精修创业逻辑,驱动效率跃升 共17字注意跃升后面没有式增长,但主题中有跃升式增长,为了简洁可以省略式增长nn直接输出
16 9 月 2026, 周三

asp.net 脏字典过滤问题 用正则表达式来过滤脏数据

方法一:使用正则表达式

复制代码 代码如下:


//脏字典数据存放文件路径
private static string FILE_NAME=”zang.txt”;
//脏数据字典表,如:脏数据一|脏数据二|脏数据三
public static string dirtyStr=””;

public ValidDirty()
{
if (HttpRuntime.Cache[“Regex”]==null)
{
dirtyStr=ReadDic();
//用于检测脏字典的正则表达式
Regex validateReg= new Regex(“^((?!”+dirtyStr+”).(?<!”+dirtyStr+”))*$”,RegexOptions.Compiled|RegexOptions.ExplicitCapture);
HttpRuntime.Cache.Insert(“Regex” ,validateReg,null,DateTime.Now.AddMinutes(20) ,TimeSpan.Zero);
}

}
private string ReadDic()
{
FILE_NAME=Environment.CurrentDirectory+”\\”+FILE_NAME;

if (!File.Exists(FILE_NAME))
{
Console.WriteLine(“{0} does not exist.”, FILE_NAME);
return “”;
}
StreamReader sr = File.OpenText(FILE_NAME);
String input=””;
while (sr.Peek() > -1)
{
input += sr.ReadLine() ;
}

sr.Close();
return input;

}


public bool ValidByReg(string str)
{
Regex reg=(Regex)HttpRuntime.Cache[“Regex”];
return reg.IsMatch(str) ;

}


感觉这种方法的执行效率不是很高,简单的测试了一下 1000字的文章,脏字典有800多个关键字
式了一下是 1.238秒,大家有没有更好的方法,请不吝赐教!

方法二:普通循环查找方法

复制代码 代码如下:


public bool ValidGeneral(string str)
{

if(!File.Exists(FILE_NAME))
{
Console.WriteLine(“文件路径或者文件路径不存在错误信息”) ;
return false;
}
else
{
StreamReader objReader = new StreamReader(FILE_NAME,System.Text.Encoding.GetEncoding(“gb2312”));
string sLine=””;
ArrayList arrText = new ArrayList();

while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null)
arrText.Add(sLine);

}
objReader.Close();


foreach (string sOutput in arrText)
{
string[] strArr=sOutput.Split(‘|’);

for (int i = 0; i < strArr.Length; i++)
{
if (str.IndexOf(strArr[i])!=-1)
{
return false;
}

}

}
return true;

}

}


以下是测试的方法,有什么问题还大家请指出!

复制代码 代码如下:


DateTime t1 =DateTime.Now;
string str=”213″;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
str+=”珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋珍惜水晶之恋”;
ValidDirty vd=new ValidDirty() ;
Console.WriteLine(vd.ValidByReg(str)) ;
DateTime t2 =DateTime.Now;
TimeSpan ts=t2-t1;
Console.WriteLine(ts.TotalMilliseconds) ;
Console.Read() ;


算法

 

检索文本文件长度 / 耗费时间(ms)

 

正则算法

 

10个汉字/ 980

 

100个汉字/999

 

1000个汉字/1234

 

普通算法

 

10个汉字/ 234

 

100个汉字/234

 

1000个汉字/265

 
脏字典下载
不过这篇文章有可能有一些问题,建议看下下面2篇文章再决定使用。

dawei

【声明】:商丘站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

测试架构师闭环思维精修创业逻辑,驱动效率跃升,reasoning_content:我们要求以测试架构师的口吻,写一个与技术、科技相关的标题,主题是点评精修创业逻辑,闭环思维驱动效率跃升式增长需要简短精炼,30字以内直接输出标题,不要加说明nn思考:测试架构师的口吻,可能涉及技术测试、架构、质量、闭环、效率等标题要体现技术性、创业逻辑、闭环思维、效率跃升可以结合测试架构、闭环、增长等关键词例如:闭环思维驱动测试架构,创业逻辑精修效率跃升 但可能稍长更简洁:测试架构闭环思维,精修创业逻辑驱动效率跃升 27字或者:闭环思维精修创业逻辑,测试架构驱动效率跃升 ?还可以考虑技术闭环驱动创业逻辑精修,测试架构效率跃升 等nn建议直接输出:测试架构师视角:闭环思维精修创业逻辑,驱动效率跃升式增长但可能超30字数一下:测试架构师视角:闭环思维精修创业逻辑,驱动效率跃升式增长 共22字?注意标点不算实际上测试架构师视角:算7个字符?通常中文字算字数最好不用冒号试试:闭环思维精修创业逻辑 测试架构驱动效率跃升 16字?闭环思维精修创业逻辑 9字,测试架构驱动效率跃升 8字,共17字可以nn更贴合点评精修中的点评可能指测试中的审批评审?但主题是点评精修创业逻辑,可能是指通过测试架构师的视角来点评和精修创业逻辑所以标题可以体现测试架构师点评nn最终测试架构师点评:闭环思维精修创业逻辑,驱动效率跃升 共20字?测试架构师点评:6字,闭环思维精修创业逻辑9字,驱动效率跃升5字,加逗号共21字可以nn或者更简洁:闭环思维精修创业逻辑 测试架构驱动效率跃升 17字我觉得这个不错nn考虑到要求以测试架构师的口吻,但标题中不一定非要出现测试架构师这个词,只要语境符合即可为了明确,还是带上最终输出:测试架构师闭环思维:精修创业逻辑,驱动效率跃升 共18字或者测试架构师闭环思维精修创业逻辑,驱动效率跃升式增长 可能超了nn测试架构师闭环思维,精修创业逻辑驱动效率跃升 18字好nn我选择:测试架构师闭环思维精修创业逻辑,驱动效率跃升 共17字注意跃升后面没有式增长,但主题中有跃升式增长,为了简洁可以省略式增长nn直接输出