字符串模糊匹配

lwqwag 2017-06-16 10:59:51
现在有这样一个业务:
得到的字符串和实际的字符串可能有出入
string getstr="ABCDEEG"

string filestr="ABCDEFG"

getstr其中一个或两个字符和filestr有差异,怎么样能实现70%匹配就返回filestr,否则返回null
...全文
356 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 6 楼 chewinggum 的回复:

            string getstr = "ABCDEEG";
            string filestr = "ABCDEFG";
            Single sDiffCount = 0;
            for(int i=0;i<getstr.Length;i++)
            {
                if(getstr.Substring(i,1) != filestr.Substring(i, 1)) { sDiffCount++; }
            }
            MessageBox.Show (Math.Round(((getstr.Length - sDiffCount) / getstr.Length*100),2).ToString()+"%" );
有道理
脆皮大雪糕 2017-06-20
  • 打赏
  • 举报
回复

            string getstr = "ABCDEEG";
            string filestr = "ABCDEFG";
            Single sDiffCount = 0;
            for(int i=0;i<getstr.Length;i++)
            {
                if(getstr.Substring(i,1) != filestr.Substring(i, 1)) { sDiffCount++; }
            }
            MessageBox.Show (Math.Round(((getstr.Length - sDiffCount) / getstr.Length*100),2).ToString()+"%" );
西漠以西 2017-06-20
  • 打赏
  • 举报
回复
百度 文本相似度
lwqwag 2017-06-16
  • 打赏
  • 举报
回复
引用 楼主 lwqwag 的回复:
现在有这样一个业务: 得到的字符串和实际的字符串可能有出入
string getstr="ABCDEEG"
string filestr="ABCDEFG"
getstr其中一个或两个字符和filestr有差异,怎么样能实现70%匹配就返回filestr,否则返回null
字符串长度是一样的
xuzuning 2017-06-16
  • 打赏
  • 举报
回复
求出最小编辑距离,网上有很多 LevenshteinDistance 代码,你可选一款你喜欢的 相似度的计算就仁者见仁智者见智了
  • 打赏
  • 举报
回复
两个字符串的长度是一样的吗?
冷场 2017-06-16
  • 打赏
  • 举报
回复
长度一样 就用for 循环啊,外置一个int i ,两个字符串的每一位对应比较,相等就让i++,最后i/字符串的长度得到百分比

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧