微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检查数组中是否存在字符串?

如何解决如何检查数组中是否存在字符串?

| 我有以下代码
var
  ExtString: string;
const
  Extensions : array[0..4] of string = (\'.rar\',\'.zip\',\'.doc\',\'.jpg\',\'.gif\');

if ExtString in Extensions then
在最后一行,我得到一个错误:   [DCC错误] E2015运算符(\'then \')不适用于此操作数类型 我认为我无法做到这一点,那么如何正确执行任务呢?     

解决方法

        如您所知,您无法使用
in
在字符串数组中检查字符串。 您可以使用此函数代替
if
语句。
function StrInArray(const Value : String;const ArrayOfString : Array of String) : Boolean;
var
 Loop : String;
begin
  for Loop in ArrayOfString do
  begin
    if Value = Loop then
    begin
       Exit(true);
    end;
  end;
  result := false;
end;
您可以这样称呼它。
if StrInArray(ExtString,Extensions) then
ѭ5已经定义好了。
function MatchStr(const AText: string; const AValues: array of string): Boolean; 
    ,        从常量数组​​初始化TStringList实例,并使用IndexOf()。     ,        有时候最简单的解决方案不是最明显的
var
  ExtString: string;
const
  Extensions : string = (\'.rar,.zip,.doc,.jpg,.gif\');

if Pos(ExtString,Extensions) > 0 then
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。