//不考虑:条件中字符串会出现“ or and ”、“ and or ”、“ and and ”、“ or or ”
//不考虑:“ or  and ”大小写
//不考虑:多余的空格
//注意:必要空格“ or  and ”//“ or ” + “ and ”procedure TForm1.Button1Click(Sender: TObject);
var
  S: string;
begin
  S := Edit1.Text; //'条件1 or 条件2 or';//Edit1 or  and  or  S := #11 + S + #11;
  while
    (Pos(' or and ', S) > 0) or
    (Pos(' and and ', S) > 0) or
    (Pos(' or or ', S) > 0) or
    (Pos(' and or ', S) > 0) or
    (Pos(#11' and ', S) > 0) or
    (Pos(#11' or ', S) > 0) or
    (Pos(' and '#11, S) > 0) or
    (Pos(' or '#11, S) > 0) do begin
    S := StringReplace(S, ' or and ', ' and ', [rfReplaceAll]);
    S := StringReplace(S, ' and and ', ' and ', [rfReplaceAll]);
    S := StringReplace(S, ' or or ', ' or ', [rfReplaceAll]);
    S := StringReplace(S, ' and or ', ' and ', [rfReplaceAll]);
    S := StringReplace(S, #11' and ', #11, [rfReplaceAll]);
    S := StringReplace(S, #11' or ', #11, [rfReplaceAll]);
    S := StringReplace(S, ' and '#11, #11, [rfReplaceAll]);
    S := StringReplace(S, ' or '#11, #11, [rfReplaceAll]);
  end;
  S := Trim(S);  Edit2.Text := S;
end;