首页 > 其他分享 >delphi 字符串比较函数

delphi 字符串比较函数

时间:2023-06-22 09:56:15浏览次数:36  
标签:函数 S2 delphi System SysUtils 大小写 字符串 区分 S1

字符串比较函数

列表

方法 说明 大小写
System.SysUtils.TStringHelper.StartsWith 返回是否以给定的字符串开头。 区分大小写
System.SysUtils.TStringHelper.StartsText 返回是否以给定的字符串开头。 不区分大小写
System.SysUtils.TStringHelper.EndsWith 返回是否以给定的字符串结尾。 区分大小写
System.SysUtils.TStringHelper.EndsText 返回是否以给定的字符串结尾。 不区分大小写
System.SysUtils.SameText 按顺序比较两个字符串。 不区分大小写
System.SysUtils.AnsiSameText 根据当前语言环境比较字符串。 不区分大小写
System.SysUtils.SameStr 按顺序比较两个字符串。 区分大小写
System.SysUtils.AnsiSameStr 根据当前语言环境比较字符串。 区分大小写
System.SysUtils.CompareText 比较两个字符串。 区分大小写
System.SysUtils.AnsiCompareText 根据当前语言环境比较字符串。 不区分大小写
System.SysUtils.CompareStr 比较两个字符串。 区分大小写
System.SysUtils.AnsiCompareStr 根据当前语言环境比较字符串。 区分大小写
System.SysUtils.StrComp 比较以 null 结尾的字符串。 区分大小写
System.SysUtils.AnsiStrComp 根据当前语言环境比较以 null 结尾的字符串。 区分大小写
System.SysUtils.StrIComp 比较以 null 结尾的字符串。 不区分大小写
System.SysUtils.AnsiStrIComp 根据当前语言环境比较以 null 结尾的字符串。 不区分大小写
System.SysUtils.StrLComp 比较以 null 结尾的字符串的前 MaxLen 个字节。 区分大小写
System.SysUtils.AnsiStrLComp 根据当前语言环境比较以 null 结尾的字符串的前 MaxLen 个字节。 区分大小写
System.SysUtils.StrLIComp 比较以 null 结尾的字符串的前 MaxLen 个字节。 不区分大小写
System.SysUtils.AnsiStrLIComp 根据当前语言环境比较以 null 结尾的字符串的前 MaxLen 个字节。 不区分大小写

详细

System.SysUtils.TStringHelper.StartsWith

function StartsWith(const Value: string): Boolean;
function StartsWith(const Value: string; IgnoreCase: Boolean): Boolean;

unit

System.SysUtils

返回是否以给定的字符串开头。

参数

Value 给定字符串。

IgnoreCase 是否使用区分大小写。

重载

StartsWith(string) 区分大小写

System.SysUtils.TStringHelper.StartsText

class function StartsText(const ASubText, AText: string): Boolean;

unit

System.SysUtils

返回是否以给定的字符串开头,不区分大小写。

System.SysUtils.TStringHelper.EndsWith

function EndsWith(const Value: string): Boolean;
function EndsWith(const Value: string; IgnoreCase: Boolean): Boolean;

unit

System.SysUtils

返回是否以给定的字符串结尾。

参数

Value 给定字符串。

IgnoreCase 是否使用区分大小写。

重载

EndsWith(string) 区分大小写

System.SysUtils.TStringHelper.EndsText

class function EndsText(const ASubText, AText: string): Boolean;

unit

System.SysUtils

返回是否以给定的字符串结尾,不区分大小写。

System.SysUtils.SameText

function SameText(const S1, S2: string): Boolean;
function SameText(const S1, S2: string; LocaleOptions: TLocaleOptions): Boolean;

unit

System.SysUtils

按顺序比较两个字符串,不区分大小写。

System.SysUtils.AnsiSameText

function AnsiSameText(const S1, S2: string): Boolean;

unit

System.SysUtils

根据当前语言环境比较字符串,不区分大小写。

System.SysUtils.SameStr

function SameStr(const S1, S2: string): Boolean;
function SameStr(const S1, S2: string; LocaleOptions: TLocaleOptions): Boolean;

unit

System.SysUtils

按顺序比较两个字符串,区分大小写。

System.SysUtils.AnsiSameStr

function AnsiSameStr(const S1, S2: string): Boolean;

unit

System.SysUtils

根据当前语言环境比较字符串,区分大小写。

System.SysUtils.CompareText

function CompareText(const S1, S2: string): Integer;
function CompareText(const S1, S2: string; LocaleOptions: TLocaleOptions): Integer;

unit

System.SysUtils

按顺序比较两个字符串,不区分大小写。

返回值

如果 S1 = S2 ,则返回 0。如果 S1 > S2,则返回大于 0 的整数。如果 S1 < S2,则返回小于 0 的整数。

System.SysUtils.AnsiCompareText

function AnsiCompareText(const S1, S2: string): Integer;

unit

System.SysUtils

根据当前语言环境比较字符串,不区分大小写。

返回值

如果 S1 = S2 ,则返回 0。如果 S1 > S2,则返回大于 0 的整数。如果 S1 < S2,则返回小于 0 的整数。

System.SysUtils.CompareStr

function CompareStr(const S1, S2: string): Integer;
function CompareStr(const S1, S2: string; LocaleOptions: TLocaleOptions): Integer;

unit

System.SysUtils

比较两个字符串,区分大小写。

返回值

如果 S1 = S2 ,则返回 0。如果 S1 > S2,则返回大于 0 的整数。如果 S1 < S2,则返回小于 0 的整数。

System.SysUtils.AnsiCompareStr

function AnsiCompareStr(const S1, S2: string): Integer;

unit

System.SysUtils

根据当前语言环境比较字符串,区分大小写。

返回值

如果 S1 = S2 ,则返回 0。如果 S1 > S2,则返回大于 0 的整数。如果 S1 < S2,则返回小于 0 的整数。

大多数语言环境认为小写字符小于对应的大写字符。这与 ASCII 顺序相反,在 ASCII 顺序中,小写字符大于大写字符。因此,将 S1 设置为'a'并将 S2 设置为 'A' 会导致 AnsiCompareStr 返回一个小于0的值,而具有相同参数的 CompareStr 返回一个大于0的值。

System.SysUtils.StrComp

function StrComp(const Str1, Str2: PAnsiChar): Integer;
function StrComp(const Str1, Str2: PWideChar): Integer;

比较以 null 结尾的字符串,区分大小写。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

System.SysUtils.AnsiStrComp

function AnsiStrComp(S1, S2: PAnsiChar): Integer;
function AnsiStrComp(S1, S2: PWideChar): Integer;

unit

System.SysUtils

根据当前语言环境比较以 null 结尾的字符串,区分大小写。

返回值

如果 S1 = S2 ,则返回 0。如果 S1 > S2,则返回大于 0 的整数。如果 S1 < S2,则返回小于 0 的整数。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

大多数语言环境认为小写字符小于对应的大写字符。这与 ASCII 顺序相反,在 ASCII 顺序中,小写字符大于大写字符。

System.SysUtils.StrIComp

function StrIComp(const Str1, Str2: PAnsiChar): Integer;
function StrIComp(const Str1, Str2: PWideChar): Integer;

unit

System.SysUtils

比较以 null 结尾的字符串,不区分大小写。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

System.SysUtils.AnsiStrIComp

function AnsiStrIComp(S1, S2: PAnsiChar): Integer;
function AnsiStrIComp(S1, S2: PWideChar): Integer;

unit

System.SysUtils

根据当前语言环境比较以 null 结尾的字符串,不区分大小写。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

System.SysUtils.StrLComp

function StrLComp(const Str1, Str2: PAnsiChar; MaxLen: Cardinal): Integer;
function StrLComp(const Str1, Str2: PWideChar; MaxLen: Cardinal): Integer;

unit

System.SysUtils

比较以 null 结尾的字符串的前 MaxLen 个字节,区分大小写。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

System.SysUtils.AnsiStrLComp

function AnsiStrLComp(S1, S2: PAnsiChar; MaxLen: Cardinal): Integer;
function AnsiStrLComp(S1, S2: PWideChar; MaxLen: Cardinal): Integer;

unit

System.SysUtils

根据当前语言环境比较以 null 结尾的字符串的前 MaxLen 个字节,区分大小写。

如果 S1 和 S2 包含空字符,并且空字符出现在MaxLen字节之前,AnsiStrLComp 可以在空字符结束后继续比较。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

大多数语言环境认为小写字符小于对应的大写字符。这与 ASCII 顺序相反,在 ASCII 顺序中,小写字符大于大写字符。

System.SysUtils.StrLIComp

function StrLIComp(const Str1, Str2: PAnsiChar; MaxLen: Cardinal): Integer;
function StrLIComp(const Str1, Str2: PWideChar; MaxLen: Cardinal): Integer;

unit

System.SysUtils

比较以 null 结尾的字符串的前 MaxLen 个字节,不区分大小写。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

System.SysUtils.AnsiStrLIComp

function AnsiStrLIComp(S1, S2: PAnsiChar; MaxLen: Cardinal): Integer;
function AnsiStrLIComp(S1, S2: PWideChar; MaxLen: Cardinal): Integer;

unit

System.SysUtils

根据当前语言环境比较以 null 结尾的字符串的前 MaxLen 个字节,不区分大小写。

如果 S1 和 S2 包含空字符,并且空字符出现在MaxLen字节之前,AnsiStrLIComp 可以在空字符结束后继续比较。

System.SysUtils 单元的 ANSI 版本已弃用。请使用 System.AnsiStrings 单元。

大多数语言环境认为小写字符小于对应的大写字符。这与 ASCII 顺序相反,在 ASCII 顺序中,小写字符大于大写字符。

System.SysUtils.TLocaleOptions

TLocaleOptions = (loInvariantLocale, loUserLocale);

unit

System.SysUtils

定义了依赖和独立语言环境选项的选择。这种特定于 Windows 平台类型在许多字符串处理函数中使用,其中区域设置语言可能对函数有影响。

  • loInvariantLocale 在需要一致的应用程序间操作、独立于实际语言环境的情况下使用此选项。
  • loUserLocale 在考虑用户区域设置的情况下使用此选项。

在 OSX、iOS 和 Android 平台上,如果我们使用 loUserLocale 作为 LocaleOptions 参数的值,所有控制字符(字符代码在#31和#00之间)在比较中被视为相同的字符。

示例

TStringHelper.StartsWith和TStringHelper.StartsText

procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
begin
  str := 'Abc123456';
  if not str.StartsWith('abc') then
    Memo1.Lines.Add('开头不匹配,StartsWith区分大小写');

  if str.StartsWith('abc', True) then
    Memo1.Lines.Add('开头匹配,StartsWith参数IgnoreCase为True,不区分大小写');

  if string.StartsText('abc', str) then
    Memo1.Lines.Add('开头匹配,StartsText不区分大小写');
end;

TStringHelper.EndsWith和TStringHelper.EndsText

procedure TForm1.Button2Click(Sender: TObject);
var
  str: string;
begin
  str := '123456Abc';
  if not str.EndsWith('abc') then
    Memo1.Lines.Add('结尾不匹配,EndsWith区分大小写');

  if str.EndsWith('abc', True) then
    Memo1.Lines.Add('结尾匹配,EndsWith参数IgnoreCase为True,不区分大小写');

  if string.EndsText('abc', str) then
    Memo1.Lines.Add('结尾匹配,EndsText不区分大小写');
end;

SameText、AnsiSameText、SameStr、AnsiSameStr

procedure TForm1.Button3Click(Sender: TObject);
begin
  if SameText('abc', 'Abc') then
    Memo1.Lines.Add('相等,SameText不区分大小写');

  if AnsiSameText('abc', 'Abc') then
    Memo1.Lines.Add('相等,AnsiSameText不区分大小写');

  if not SameStr('abc', 'Abc') then
    Memo1.Lines.Add('不相等,SameStr区分大小写');

  if not AnsiSameStr('abc', 'Abc') then
    Memo1.Lines.Add('不相等,AnsiSameStr区分大小写');
end;

CompareText、AnsiCompareText、CompareStr、AnsiCompareStr

procedure TForm1.Button4Click(Sender: TObject);
begin
  //判断相等
  if CompareText('abc', 'Abc') = 0 then
    Memo1.Lines.Add('相等,CompareText不区分大小写');
  if AnsiCompareText('abc', 'Abc') = 0 then
    Memo1.Lines.Add('相等,AnsiCompareText不区分大小写');
  if CompareStr('abc', 'Abc') <> 0 then
    Memo1.Lines.Add('不相等,CompareStr区分大小写');
  if AnsiCompareStr('abc', 'Abc') <> 0 then
    Memo1.Lines.Add('不相等,AnsiCompareStr区分大小写');

  //比较大小
  if CompareText('abc12', 'Abc') > 0 then
    Memo1.Lines.Add('左边 大于 右边,第4个字符,左边字符比右边多');
  if CompareText('abc12', 'Abc2') < 0 then
    Memo1.Lines.Add('左边 小于 右边,第4个字符,右边“2”比“1”大');

  //语言环境,CompareStr与AnsiCompareStr区别
  if CompareStr('a', 'A') > 0 then
    Memo1.Lines.Add('CompareStr根据ASCII顺序,小写字符大于大写字符');
  if AnsiCompareStr('a', 'A') < 0 then
    Memo1.Lines.Add('AnsiCompareStr根据语言环境,小写字符小于大写字符');
end;

StrComp和StrIComp

procedure TForm1.Button5Click(Sender: TObject);
var
  p1, p2: PWideChar;
  p3, p4: PAnsiChar;
begin
  p1 := 'abc';
  p2 := 'Abc';
  p3 := 'abc';
  p4 := 'Abc';

  if StrComp(p1, p2) <> 0 then
    Memo1.Lines.Add('不相等,StrComp区分大小写');
  if StrIComp(p1, p2) = 0 then
    Memo1.Lines.Add('相等,StrIComp不区分大小写');

  //比较PAnsiChar使用System.AnsiStrings单元的, System.SysUtils的单元已弃用
  if System.SysUtils.StrComp(p3, p4) <> 0 then
    Memo1.Lines.Add('System.SysUtils.StrComp(PAnsiChar;PAnsiChar)已弃用');
  if System.AnsiStrings.StrComp(p3, p4) <> 0 then
    Memo1.Lines.Add('使用System.AnsiStrings.StrComp(PAnsiChar;PAnsiChar)');
end;

TLocaleOptions

procedure TForm1.Button6Click(Sender: TObject);
var
  s1, s2: string;
begin
  s1 := char(6);
  s2 := char(31);
  if SameText(s1, s2, loUserLocale) then
    Memo1.Lines.Add('相等(OSX、iOS 和 Android 平台)')
  else
    Memo1.Lines.Add('不相等(Windows 平台)');

  if SameText(s1, s2, loInvariantLocale) then
    Memo1.Lines.Add('相等')
  else
    Memo1.Lines.Add('不相等(Windows、OSX、iOS 和 Android 平台)');
end;

返回结果

不相等(Windows 平台)
不相等(Windows、OSX、iOS 和 Android 平台)

标签:函数,S2,delphi,System,SysUtils,大小写,字符串,区分,S1
From: https://www.cnblogs.com/txgh/p/17497507.html

相关文章

  • c#动态执行字符串脚本
    c#动态执行字符串脚本(优化版)像javascript中有eval()来执行动态代码,c#中是没有的,于是自己动手丰衣足食,usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Text;usingSystem.CodeDom.Compiler;usingMicrosoft.CSharp;usingSystem.Reflection;us......
  • MySQL 视图&存储过程&函数
    1视图1.1视图的作用当我们创建一张表的视图后,可以用和表差不多的使用方式来使用视图,比如可以对视图进行select查询操作、过滤或者排序数据等等。同时,也可以联结其它视图或者表,甚至可以添加和更新数据(但一般不会这么做,而且存在诸多限制)。总结起来,视图有以下优点:重用SQL语句,简......
  • 【web开发】PHP中的字符串的基本操作及特点详解
    前言字符串几乎在所有编程语言都存在的一种数据类型,也是PHP中最重要的一种数据类型之一,更是日常开发中使用最多的一种数据类型。在web开发中,很多情况下需要对字符串进行处理和分析,这通常涉及字符串的格式化、连接与分割,比较、查找,翻转等等一系列操作。用户和系统的交互也基本上是通......
  • 一元函数积分学
    目录一元函数积分学原函数与不定积分的概念导数与不定积分的关系牛顿-莱布尼茨公式基本积分表求不定积分直接积分法凑微分法换元积分法分部积分法定积分定积分的计算利用可加性利用积分限利用对称性利用几何意义定积分的几何应用平面图形的面积旋转体的体积平面曲线的弧长积分与导......
  • 字符串
    入门篇字符串的基础概念及存储基本概念不用多说,字符串就是一堆字符串在一起所构成的一个结构。存储多有两种:用c++自带的string用字符数组char[]。(笔者习惯用这种方法)如何输入/输出一个字符串?//c++自带stringstrings;cin>>s;cout<<s;//字符数组charchars[];s......
  • PHP函数或者变量前增加@的用途
    在变量或函数前使用@修饰符可以隐藏警告,而该警告可能指示了一个编程错误,所以使用时要小心。通过使用@修饰符,可以把这个代码写得更简洁。这样可以避免显示在未定义变量上使用自增操作符(++)可能带来的警告。如果使用自增操作符时变量未定义,将声明一个值为0的新变量,并产生一个警告。......
  • Scala最新书籍-《函数式编程科学之Scala实战》pdf级随书代码分享
        这本书对函数式编程所需要的理论知识的系统性的阐述。本书从基本原理讲起,包含了所有详细地解释、推导和证明。读者需要通过长时间的精神集中和努力学习困难的概念。这本书需要一定的数学基础,至少对基础代数比较了解。        文末附本书最新pdf及随书代码下载地址......
  • Delphi调用Asterisk系统AMI接口取得来电号码
       Asterisk 是一个开放源代码的软件VoIPPBX系统, AMI (AsteriskManagerInterface)。是Asterisk的管理接口。通过此接口,可以实现对Asterisk系统的监控和控制。通过调用AMI接口可以灵活的做很多事情,比如调用Asterisk系统AMI接口取得来电号码.在调用接口前,先查看下新......
  • 102 数组转字符串;反转字符串
    publicclassStr3{publicstaticvoidmain(String[]args){//将数组转【字,符,串】//数组int[]arrNum={1,2,3,4,5};Stringss=getStr(arrNum);System.out.println(ss);}//获得一个拼接后的字符串publics......
  • 十六、python里的函数
    十六、python里的函数python里函数分为内置函数与自定义函数内置函数:如int(),str(),len()等,所有的内置函数参考https://docs.python.org/3/library/functions.html自定义函数的定义与调用(重点)deffunct():#函数名(),括号里可以写参数,也可以不写"""函数说......