Delphi 字符串函数StrUtils单元AnsiLeftStr、AnsiRightStr、AnsiMidStr、AnsiContainsStr、AnsiContainsText、AnsiStartsStr、AnsiStartsText、AnsiEndsStr、AnsiEndsText、AnsiReplaceStr、AnsiReplaceText、AnsiResemblesText...

引用单元 StrUtils  非 SysUtils
AnsiLeftStr、AnsiRightStr、AnsiMidStr、AnsiContainsStr、AnsiContainsText、AnsiStartsStr、AnsiStartsText、AnsiEndsStr、AnsiEndsText、AnsiReplaceStr、
AnsiReplaceText、AnsiResemblesText、
AnsiReverseString、AnsiMatchStr、AnsiMatchText、AnsiIndexStr、AnsiIndexText、PosEx
//从左右两端提取指定数目的字符串: AnsiLeftStr、AnsiRightStr
var
  ss,s: AnsiString;
begin
  ss := 'abcdefg';
  s := AnsiLeftStr(ss, 2);
  ShowMessage(s); {ab}

  s := AnsiRightStr(ss, 2);   ShowMessage(s); {fg} end;

//从指定位置开始提取指定长度的字符串: AnsiMidStr
var
  ss,s: AnsiString;
begin
  ss := 'abcdefg';
  s := AnsiMidStr(ss,3,2);
  ShowMessage(s); {cd}

  s := AnsiMidStr(ss,3,20);
  ShowMessage(s); {cdefg}
end;

//查找字符串: AnsiContainsStr、AnsiContainsText
var
  ss,s: AnsiString;
  b: Boolean;
begin
  ss := 'Hello World';
  s := 'hello';
  b := AnsiContainsStr(ss,s);  {区分大小写}
  ShowMessage(BoolToStr(b));   {False}
  b := AnsiContainsText(ss,s); {不区分大小写}
  ShowMessage(BoolToStr(b));   {True}
end;

//判断一个字符串是不是另一个字符串的开始: AnsiStartsStr、AnsiStartsText
var
  ss,s: AnsiString;
  b: Boolean;
begin
  ss := 'Hello World';
  s := 'he';
  b := AnsiStartsStr(s,ss);  {区分大小写}
  ShowMessage(BoolToStr(b)); {False}
  b := AnsiStartsText(s,ss); {不区分大小写}
  ShowMessage(BoolToStr(b)); {True}
end;

//判断一个字符串是不是另一个字符串的结尾: AnsiEndsStr、AnsiEndsText
var
  ss,s: AnsiString;
  b: Boolean;
begin
  ss := 'Hello World';
  s := 'ORLD';
  b := AnsiEndsStr(s,ss);    {区分大小写}
  ShowMessage(BoolToStr(b)); {False}
  b := AnsiEndsText(s,ss);   {不区分大小写}
  ShowMessage(BoolToStr(b)); {True}
end;

//替换字符串: AnsiReplaceStr、AnsiReplaceText
var
  ss,strForm,strTo: AnsiString;
begin
  ss := 'Hello World Hello World';
  strForm := 'hello';
  strTo := '*';
  ss := AnsiReplaceStr(ss, strForm, strTo);  {区分大小写}
  ShowMessage(ss);                           {Hello World Hello World}
  ss := AnsiReplaceText(ss, strForm, strTo); {不区分大小写}
  ShowMessage(ss);                           {* World * World}
end;

//判断两个字符串是不是相似: AnsiResemblesText
var
  b: Boolean;
begin
  b := AnsiResemblesText('abc','apc');
  ShowMessage(BoolToStr(b)); {True 说明两个字符串相似}
{它到底依据什么? 我非常感兴趣, 在另一篇随笔里专题研究}
end;

//翻转字符串: AnsiReverseString
var
  s: AnsiString;
begin
  s := 'Hello';
  s := AnsiReverseString(s);
  ShowMessage(s); {olleH}
end;

//查找字符串数组: AnsiMatchStr、AnsiMatchText
var
  arr: array[0..3] of string;
  s: AnsiString;
  b: Boolean;
begin
  arr[0] := 'aaa';
  arr[1] := 'bbb';
  arr[2] := 'ccc';
  arr[3] := 'ddd';

  s := 'CCC';
  b := AnsiMatchStr(s,arr);   {区分大小写}
  ShowMessage(BoolToStr(b));  {False}
  b := AnsiMatchText(s,arr);  {不区分大小写}
  ShowMessage(BoolToStr(b));  {True}
end;

//查找字符串数组并返回子串的位置: AnsiIndexStr、AnsiIndexText
var
  arr: array[0..3] of string;
  s: AnsiString;
  i: Integer;
begin
  arr[0] := 'aaa';
  arr[1] := 'bbb';
  arr[2] := 'ccc';
  arr[3] := 'ddd';
  s := 'CCC';   i := AnsiIndexStr(s,arr);  {区分大小写}   ShowMessage(IntToStr(i));  {-1, -1表示没找到}   i := AnsiIndexText(s,arr);  {不区分大小写}   ShowMessage(IntToStr(i));  {2} end;

//从第几个字符开始,搜索字串的位置 PosEx
var
  ss,s: string;
  i: Integer;
begin
  ss := 'CodeGear Delphi 2007';
  s := 'Gear';
  i := PosEx(s,ss,4);
  ShowMessage(IntToStr(i));  //5
end;

posted on   滔Roy  阅读(1275)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报

导航

点击右上角即可分享
微信分享提示