Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用Delphi在另一个字符串中查找变量字符串_String_Delphi - Fatal编程技术网

String 使用Delphi在另一个字符串中查找变量字符串

String 使用Delphi在另一个字符串中查找变量字符串,string,delphi,String,Delphi,给定一个字段/字符串,如“G,H,1,AA,T,AAA,1,E,a,H,…”。字符可以是任意组合/顺序。 当只搜索“A”或“AA”时,如何搜索该字符串并返回True? i、 e.如果搜索“a”,则只应在e和H之间找到“a”。 问候与TIA, Ian将此字符串拆分为一个列表,例如使用TStringList.CommaText(或者,使用StrUtils.SplitString()将其拆分为一个数组) 然后,只需浏览列表并检查每个字符串(或者使用TStrings.IndexOf()-注意:它使用区分

给定一个字段/字符串,如“G,H,1,AA,T,AAA,1,E,a,H,…”。字符可以是任意组合/顺序。 当只搜索“A”或“AA”时,如何搜索该字符串并返回True? i、 e.如果搜索“a”,则只应在e和H之间找到“a”。 问候与TIA,
Ian

将此字符串拆分为一个列表,例如使用
TStringList.CommaText
(或者,使用
StrUtils.SplitString()
将其拆分为一个数组)

然后,只需浏览列表并检查每个字符串(或者使用
TStrings.IndexOf()
-注意:它使用
区分大小写的属性,如Remy在注释中提到的)


如果要对同一个列表进行多次查询,请对其排序并使用有效的二进制搜索(
TStringList.Find()
)。

将此字符串拆分为一个列表,例如使用
TStringList.CommaText
(或者,使用
StrUtils.SplitString()
)将其拆分为一个数组

然后,只需浏览列表并检查每个字符串(或者使用
TStrings.IndexOf()
-注意:它使用
区分大小写的属性,如Remy在注释中提到的)


如果要对同一个列表进行多次查询,请对其排序并使用有效的二进制搜索(
TStringList.Find()
)。

您只需按分隔符将字符串拆分为一个数组,然后在该数组中搜索,例如

function FindItem(const List, Item: string): Boolean;
var
  SArr: TArray<string>;
  S: string;
begin
  Result := False;
  //Separators could also be a parameter
  SArr := List.Split([',']);
  for S in SArr do
  begin
    //use S.Trim if needed
    //use AnsiSameText(S, Item) for case insensitive check
    if Item = S then
      Exit(True);
  end;
end;

您只需按分隔符将字符串拆分为一个数组,然后在该数组中搜索,例如

function FindItem(const List, Item: string): Boolean;
var
  SArr: TArray<string>;
  S: string;
begin
  Result := False;
  //Separators could also be a parameter
  SArr := List.Split([',']);
  for S in SArr do
  begin
    //use S.Trim if needed
    //use AnsiSameText(S, Item) for case insensitive check
    if Item = S then
      Exit(True);
  end;
end;

非常感谢。谢谢,谢谢。感谢。
TStringList
有一个
IndexOf()
使用的
CaseSensitive
属性。
TStringList
有一个
IndexOf()
使用的
CaseSensitive
属性。
Result := TRegex.IsMatch(List, '\bA\b');