总算理解 and 的含义了
不过我做的是 or 的啊 :-(
不过看来也不难啊,以最后一行://'ab c' 应该= '#$^ab!@#%c@#@^' 为例
首先,你这个是不分大小写的,因此应该把SubString和String均lowercase
其次,把SubString按照空格切分到一个TStringList(如果少,可以用数组,
不过大小固定了不太好),把'ab c'中的'ab'当成一个元素,于是现在只有
两个元素然后,然后依次查找,只要有一个没有找到则算没有找到。
//切分部分
Procedure SplitTextIntoWords(Const S: String
var words: TStringlist);
Var
startpos, endpos: Integer;
Begin
words := TStringList.Create;
startpos := 1;
While startpos <= Length(S) Do Begin
// skip non-letters
While (startpos <= Length(S)) and (S[startpos] = ' ') Do
Inc(startpos);
If startpos <= Length(S) Then Begin
// find next non-letter
endpos := startpos + 1;
While (endpos <= Length(S)) and (S[endpos] <> ' ') Do
Inc(endpos);
words.add( Copy( S, startpos, endpos-startpos));
startpos := endpos+1;
End
{ If }
End
{ While }
End;
//查找部分
...
SplitTextIntoWords(lowercase(subString), subList);
aString := lowercase(aString);
found := true;
for i := 0 to subList.count - 1 do
begin
found := found and (pos(subList.Strings
, aString));
end;
if found then
showmessage('找到啦!')
else
showmessage('真遗憾!');