当输入框发生改变时,怎样才能将文本文件中所有相似的东西列到一个Label中 哪位高手帮小妹解答一下啦,我是没太明白意思,就是怎么把文本文件里的东西弄到.NET中呢?解释一下啦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是输入框的OnLeave中,取得输入框的内容,去一个文本文件中找类似的字符串,将字符串读取到Label中。 把文本文件中的读入内存,在内存中模糊查找,然后给Label赋值 1 楼 findcaiyzh(秋心)谢谢哈,我觉得大概是明白勒,但是怎么具体实现找类似的字符串呢。我实在是菜鸟一只哈。 搜索当然非正则莫属 string ss = @"aaabbbcccabcdabcdeeedddffffffgg"; string str = "ab d"; Regex reg = new Regex(str.Replace(" ",".*"), RegexOptions.IgnoreCase); foreach (string s in ss.Split('\n')) { if (reg.Match(s).Success) Console.WriteLine(s); }实际操作中要对str进行比较复杂的处理参考: public static Regex PrepareRegex(string query) { //string[] words; Regex r = null; query = query.Trim().Replace(" ", " "); StringBuilder sb = new StringBuilder(); // Replace Regex special characters, adding support for wildcards sb.Append(EscapeRegexChars(query).Replace("\\*", ".*").Replace("\\?", ".")); if (query.StartsWith("\"") && query.EndsWith("\"")) { // Exact phrase sb.Remove(sb.Length - 1, 1); sb.Remove(0, 1); sb.Insert(0, @"\b("); sb.Append(@")\b"); sb.Replace(" ", @")\b[\s\r\n]+\b("); r = new Regex(sb.ToString(), RegexOptions.IgnoreCase); } else { sb.Insert(0, @"(\b("); sb.Append(@")\b)"); sb.Replace(" ", @")\b)|(\b("); r = new Regex(sb.ToString(), RegexOptions.IgnoreCase); } return r; } private static string EscapeRegexChars(string input) { StringBuilder sb = new StringBuilder(input); sb.Replace(@"\", @"\\"); // This must be done BEFORE all others sb.Replace("~", @"\~"); sb.Replace("!", @"\!"); sb.Replace("\"", @"""); sb.Replace("(", @"\("); sb.Replace(")", @"\)"); sb.Replace("[", @"\["); sb.Replace("]", @"\]"); sb.Replace("{", @"\{"); sb.Replace("}", @"\}"); sb.Replace("/", @"\/"); sb.Replace("^", @"\^"); sb.Replace("$", @"\$"); sb.Replace("?", @"\?"); sb.Replace("+", @"\+"); sb.Replace("*", @"\*"); sb.Replace("#", @"\#"); sb.Replace(".", @"\."); sb.Replace(":", @"\:"); sb.Replace("<", @"\<"); sb.Replace(">", @"\>"); sb.Replace("=", @"\="); return sb.ToString(); } 给textbox添加 onblur事件txt.Attibutes.Add("onblur","A(this.value)");;在js函数里document.getlElementByid("lbl").value="";或innerhtml 单点登录与JS跨域操做问题。见者请进,见者有分! asp.net截取文件名前4位 一个网站 可以同时使用asp.net和asp 吗? 百分求 一条access 数据库下的 sql语句 DataAdapter的fill(dataset,pageIndex,pageSize,tablename)方法 ¥¥¥ 如何把数据集转变成XML FTP 的 LIST 命令获取文件信息,就是没有年份,怎么得到??? 怎么修改角色登录成功的跳转的页面? 如何做一留言版? 亮眼一憋 session 延时问题 asp.net播放声音文件
输入框的OnLeave中,取得输入框的内容,去一个文本文件中找类似的字符串,将字符串读取到Label中。
谢谢哈,我觉得大概是明白勒,但是怎么具体实现找类似的字符串呢。我实在是菜鸟一只哈。
string ss = @"aaabbbccc
abcdabcd
eeeddd
ffffffgg";
string str = "ab d";
Regex reg = new Regex(str.Replace(" ",".*"), RegexOptions.IgnoreCase);
foreach (string s in ss.Split('\n'))
{
if (reg.Match(s).Success) Console.WriteLine(s);
}
实际操作中要对str进行比较复杂的处理
参考:
public static Regex PrepareRegex(string query)
{
//string[] words;
Regex r = null; query = query.Trim().Replace(" ", " "); StringBuilder sb = new StringBuilder();
// Replace Regex special characters, adding support for wildcards
sb.Append(EscapeRegexChars(query).Replace("\\*", ".*").Replace("\\?", ".")); if (query.StartsWith("\"") && query.EndsWith("\""))
{
// Exact phrase
sb.Remove(sb.Length - 1, 1);
sb.Remove(0, 1);
sb.Insert(0, @"\b(");
sb.Append(@")\b");
sb.Replace(" ", @")\b[\s\r\n]+\b(");
r = new Regex(sb.ToString(), RegexOptions.IgnoreCase);
}
else
{
sb.Insert(0, @"(\b(");
sb.Append(@")\b)");
sb.Replace(" ", @")\b)|(\b(");
r = new Regex(sb.ToString(), RegexOptions.IgnoreCase);
}
return r;
}
private static string EscapeRegexChars(string input)
{
StringBuilder sb = new StringBuilder(input);
sb.Replace(@"\", @"\\"); // This must be done BEFORE all others
sb.Replace("~", @"\~");
sb.Replace("!", @"\!");
sb.Replace("\"", @""");
sb.Replace("(", @"\(");
sb.Replace(")", @"\)");
sb.Replace("[", @"\[");
sb.Replace("]", @"\]");
sb.Replace("{", @"\{");
sb.Replace("}", @"\}");
sb.Replace("/", @"\/");
sb.Replace("^", @"\^");
sb.Replace("$", @"\$");
sb.Replace("?", @"\?");
sb.Replace("+", @"\+");
sb.Replace("*", @"\*");
sb.Replace("#", @"\#");
sb.Replace(".", @"\.");
sb.Replace(":", @"\:");
sb.Replace("<", @"\<");
sb.Replace(">", @"\>");
sb.Replace("=", @"\=");
return sb.ToString();
}
txt.Attibutes.Add("onblur","A(this.value)");;
在js函数里
document.getlElementByid("lbl").value="";
或innerhtml