C#字符串模糊匹配的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#字符串模糊匹配的问题相关的知识,希望对你有一定的参考价值。
本人新学C# 有关于字符串模糊匹配的问题请求诸位大神指点迷津
有三个texbox 分别为 A\B\C 三个
代码如下
string s = A文本.Text + B文本.Text + C文本.Text;
Console.WriteLine(s);
int i = s.IndexOf("");
int j = s.IndexOf("");
string ss = s.Substring(i - 1,j - i + 2);
Console.WriteLine(ss);
Console.ReadLine();
结果文本.Text = ss;
当我在三个文本中输入 我是CD小明我爱CQ北京天CC安门 时,得到的结果 只有一个 :
是CD小明
请问如何才能在 结果文本 中显示三个 或者三个以上 的内容 就是 里面的内容全部都显示出来 ?
List<string> list = new List<string>();//list用于存储结果
string s = "我是CD小明我爱CQ北京天CC安门";
int i = s.IndexOf("");
int j = s.IndexOf("");
while (i > -1 && j > -1)
string ss = s.Substring(i + 1, j - i -1);
list.Add(ss);
s = s.Substring(j + 1);
i = s.IndexOf("");
j = s.IndexOf("");
foreach (string str in list) MessageBox.Show("1 "+str);//循环输出list内容
//方法二
List<string> list2 = new List<string>();
s = "我是CD小明我爱CQ北京天CC安门";
MatchCollection mc= Regex.Matches(s, @"(.*?)");
foreach (Match m in mc)
list2.Add(m.Groups[1].Value);
foreach (string str in list2) MessageBox.Show("2 "+str);//循环输出list内容追问
不要用对话框的方式输出 怎么能把list里面存储的结果打到 结果文本.text中呢?
追答随便改下就行了,你想怎么显示,比如说全连在一起
foreach (string str in list) 结果文本.Text+=str;
如果你是想分三行显示,那就把结果文本的multiline属性设为true,然后
foreach (string str in list) 结果文本.Text+=str+"\r\n";
string text = "";
while (true)
int i = s.IndexOf("");
int j = s.IndexOf("");
if (i != -1 && j != -1)
string tmp = s.Substring(0, j);
s = s.Substring(j + 1);
text += tmp.Substring(i + 1);
else
break;
Console.WriteLine(text);
C# EF 字符串模糊查询完整实例 lambda
判断是否为null
whereExpression = p =>string.IsNullOrWhiteSpace(p.RealName)
等同于
SELECT * FROM tbl WHERE RealNameIS NULL
判断以什么开头,前缀匹配
whereExpression = p =>p.RealName.StartsWith("AA")
等同于
SELECT * FROM tbl WHERE RealName like \'AA%\'
判断以什么结尾,后缀匹配
whereExpression = p =>p.RealName.EndWith("AA")
等同于
SELECT * FROM tbl WHERE RealName like \'%AA\'
包含查询
whereExpression = p =>p.RealName.Contains("AA")
等同于
SELECT * FROM tbl WHERE RealName like \'%AA%\'
其他自定义特殊 查询
var pattern = $"______{str}%"; //‘_’ like中的占位符 此处查询第7位为指定字符的数据,str为变量
whereExpression = p => SqlFunctions.PatIndex(pattern, p.RealSampleNo) > 0
等同于
SELECT * FROM tbl WHERE RealName like \'______{str}%\'
** 长度查询 **
whereExpression = p =>p.RealName.Length==1
** 字节长度查询 **
whereExpression = p =>SqlFunctions.DataLength(p.RealName)==8
以上是关于C#字符串模糊匹配的问题的主要内容,如果未能解决你的问题,请参考以下文章