Delphi 中的字符串函数(6) StrUtils 中的 Ansi 字符串函数

摘要:
//从左右两端提取指定数量的字符串:AnsiLeftStr、AnsiRightStrrvars、s:AnsiString;开始:='abcdefg';s: =AnsiLeftStr(ss,2);显示消息;{ab}s:=AnsiRightStr(ss,2);显示消息;{fg}结束;//从指定位置提取指定长度的字符串:AnsiMidStrvarss
//从左右两端提取指定数目的字符串: 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;

免责声明:文章转载自《Delphi 中的字符串函数(6) StrUtils 中的 Ansi 字符串函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇1.4 Turbo C V2.0的基本操作flutter Slider滑块组件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Delphi下Webbrowser的使用技巧

1>调用网页中已知对象   src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src其实就是javascript中的 getElementByID 的函数 2>获得网页中的某个变量值 Html中的代码 : <script> var userID=123<...

RDLC报表系列四

表格中的值转换: int值转换为字符串:IIf(Fields!Sex.Value=0,"女","男"),此处不能写Sex.Value==0 否则会报错。  通过聚合函数 Count得出表格数据行数:=Count(Fields!RowNumber.Value)  字符串拼接:="共"&cstr(Globals!OverallTotalPages)...

C#.NET 中的类型转换

C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名、数值类型间相互转换、字符的 ASCII 码和 Unicode 码、数值字符串和数值之间的转换、字符串和字符数组/字节数组之间的转换、各种数值类型和字节数组之间的转换、十六进制数输出以及日期型数据的一些转换处理,在这里与大家分享—— 1. 装箱...

PCRE函数简介和使用示例【转】

PCRE函数简介和使用示例 标签:正则表达式listbuffercompilationnullperl 原文地址:http://blog.csdn.net/sulliy/article/details/6247155 PCRE是一个NFA正则引擎,不然不能提供完全与Perl一致的正则语法功能。但它同时也实现了DFA,只是满足数学意义上的正则。 P...

标准Socket与Delphi中的Socket

标准的Socket的应用程序框架如下:Server方: Socket()[ 新建一个Socket]--Bind()[ 同服务器地址邦定 ]--Listen() --Accept()--block wait--read()[接受消息,在windows平台中,方法为send(TCP),或者是sendto(UDP)]--处理服务请求--Write()[发送消息,...

delphi 利用 InterlockedCompareExchange 实现主线程维一锁等待

在进行资源锁定时,一般是线程之间进行交互,很少需要在主线程也对资源进行锁定。    不过在一些复杂的业务中,存在子线程与主线程的交互,且一些资源也同步在主线程中使用时,主线程资源锁,就有存在的必要。 假定有一个需求,在SQLITE更新时,需要共同一个更新组件,以减少资源建立与释放及相对应内存回收的需求,则此时的每一个更新,就有先锁定再更新的必要。 废话不多...