VB中对字符串的比较非常方便,如:要检查字符串A中是否包含字符串B,直接用instr(A,B)就可以查出来,如果用通配符,直接可以用if A like B 判断即可,可现在改行学delphi后,发现这二个常用的函数不知如何在delphi中实现,特向师傅们求救,谢谢

解决方案 »

  1.   

    if pos(B, A) > 0 then
      

  2.   

    谢谢楼上这位朋友,我试了,不知何故,用pos的速度奇慢!比如;我有10000条数据,检查其中有多少条包含“00”字符的,与其用pos检查,还不如加一个循环,逐字符进行比较,为什么后者速度比pos要快得多呢?在VB中可是正好相反的。
      

  3.   

    比较字符串
    AnsiCompareStr  (区分大小写) 
    AnsiCompareText  (不区分大小写) 
      

  4.   

    谢谢楼上这位朋友,麻烦您给个应用示例好吗?不好意思,原来用VB很顺手的,现在朋友们建议学delphi,很菜的,万望不要见笑,谢谢。
      

  5.   

    用AnsiPos试试,不过pos的效率还可以啊。
      

  6.   

    与其用pos检查,还不如加一个循环,逐字符进行比较,为什么后者速度比pos要快得多呢?
    --------------------------------------应该不会吧……
      

  7.   

    AnsiContainsStr function
    function AnsiContainsStr(const AText, ASubText: string): Boolean;
    //Indicates whether one string is a (case-sensitive) substring of another.AnsiContainsText function:
    function AnsiContainsText(const AText, ASubText: string): Boolean;
    //Indicates whether one string is a (case-insensitive) substring of another.
    尝试下,或者不行为什么要一个个循环比较呢?换个方式在这么多数据前先把它比较好再储存起来可以么?或者数据库的话SQL语句看看