求一种精确查找算法 (50分)

  • 主题发起人 主题发起人 fee
  • 开始时间 开始时间
F

fee

Unregistered / Unconfirmed
GUEST, unregistred user!
我想找单词中含有字母A,但不含有AR,EA,CA,CAD的所有单词,应如何设计
 
uses StrUtils
用定义空格的方法来确定单词;(AnsiContainsText(yourLine, ' '))
处理单词:
if Not AnsiContainsText(yourWord, 'AR') and
if Not AnsiContainsText(yourWord, 'EA') and
if Not AnsiContainsText(yourWord, 'CA') and
if Not AnsiContainsText(yourWord, 'CAD') then
if AnsiContainsText(yourWord, 'A') then

showmessage('找到!');
不过这个想法好像有点笨;
 
我的觉得这样设计比较烦,能不能有更简单一点的?
 
if pos(yourWord, 'AR')>0 and
if pos(yourWord, 'EA')>0 and
if pos(yourWord, 'CA')>0 and
if pos(yourWord, 'CAD')>0 then
if POs(yourWord, 'A')> then

showmessage('找到!');
不过这个想法好像有点笨;
 
去找一个正则表达式控件,用正则表达式来做是很简单的。
 
case yourword not in [AR,EA,CA,CAD] of......后面自己写吧
 
……
if Not AnsiContainsText(yourWord, 'AR') and
if Not AnsiContainsText(yourWord, 'EA') and
……
这样用if也可以吗?
我觉得应该是这样
if Not AnsiContainsText(yourWord, 'AR') and
Not AnsiContainsText(yourWord, 'EA') and
……
 
接受答案了.
 
后退
顶部