aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 7786|回复: 4

求成语匹配

[复制链接]

35

主题

46

回帖

509

积分

三级会员

积分
509
发表于 2013-1-2 20:31:12 | 显示全部楼层 |阅读模式
已经知排列顺序错乱的四个字成语,比如"假威虎狐",
怎么匹配出一段字符串里正确的成语,比如这段字符为"***假****狐假虎威****虎*****",(星号代表未知字符)

23

主题

380

回帖

2240

积分

五级会员

积分
2240
发表于 2013-1-3 10:35:13 | 显示全部楼层
这个我感觉你所想要的成语数量不会很多,你可以做个成语库,然后逐个成语在你的字符串里查询。

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2013-1-3 16:27:15 | 显示全部楼层
嗯嗯,好简单的:
  1. import console;
  2. import string.fuzzyMatching;

  3. var fm = string.fuzzyMatching( "***假****狐假虎威****虎*****" )

  4. find = function(array){
  5.         var tMatch = {}
  6.         for(i=1;#array;1){
  7.                 table.push(tMatch,{string=array[i];similar=fm.match(array[i]) })
  8.         }
  9.         if(!#tMatch) return;
  10.        
  11.         ..table.sort(tMatch,function(b){
  12.                 return owner.similar > b.similar
  13.         } );
  14.        
  15.         return tMatch[1].string;
  16. }
  17.                
  18. var ms = find( { "狐假虎威";"不三不四";"友情提醒,勿喷!"} )

  19. console.log("找到的成语", ms )

复制代码

35

主题

46

回帖

509

积分

三级会员

积分
509
 楼主| 发表于 2013-1-3 17:37:43 | 显示全部楼层
你这怎么什么都能找到?我的意思是说用4个位置错位的成语去匹配出一段话里顺序正确的成语。

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2013-1-3 18:36:03 | 显示全部楼层
xiaoqiang 发表于 2013-1-3 17:37
你这怎么什么都能找到?我的意思是说用4个位置错位的成语去匹配出一段话里顺序正确的成语。

还是没有明白你的意思,抱歉啊写的代码不符合要求,打扰了,再见
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-14 03:16 , Processed in 0.059608 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表