如何解决如何检查数组中是否存在字符串?
| 我有以下代码: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 举报,一经查实,本站将立刻删除。