//从左右两端提取指定数目的字符串: 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;