Delphi字符串操作的常用函数四

1. AnsiStrLower、AnsiStrUpper

AnsiStrLower

function AnsiStrLower(Str: PChar): PChar;:将空终止字符串中的所有字符转换为小写字符。

AnsiStrLower('ABCDEF');  //结果为abcdef

AnsiStrUpper

function AnsiStrUpper(Str: PChar): PChar;:将空终止字符串中的所有字符转换为大写字符。


2.  AnsiStrPos、AnsiStrRScan、AnsiStrScan

AnsiStrPos

function AnsiStrPos(Str, SubStr: PChar): PChar;:返回参数Substr子字符串在参数Str字符串中首次出现的指针。如果SubStr在Str中未找到,则返回nil。AnsiStrPos主要用在MBCS环境中(与StrPos的本质区别)。

AnsiStrRScan

function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:返回参数Chr字符在Str字符串中最后一次出现的指针。如果chr在str中未找到,则返回nil。AnsiStrRScan主要用在MBCS环境中(与StrRScan的本质区别)。

AnsiStrScan

function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:返回参数Chr字符在Str字符串中首次出现的指针。如果chr在str中未找到,则返回nil。AnsiStrScan主要用在MBCS环境中(与StrScan的本质区别)。

 

3. ExtractString

function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;:按指定的分隔符将字符串分解,返回分解的字符串个数。Separator表示用于指定分割字符串的分隔符;WhiteSpace表示分解字符串时起始位置的字符串(可忽略);Content表示要分解的字符串;Strings表示存放分解后的字符串列表。

s:='abc,defg,hijkl';
count := ExtractStrings([','],[],PChar(s),Res); //count=3


4. LineStart

function LineStart(Buffer, BufPos: PChar): PChar;:返回缓冲区最后一行的指针。buffer表示缓冲区的起始位置;bufPos表示向后扫描的行码字符。

 

5. SearchBuf

extern PACKAGE char * __fastcall SearchBuf(char *Buf, int BufLen, int SelStart, int SelLength, AnsiString SearchString, TStringSearchOptions Options =TStringSearchOptions() << soDown);:查找一个字符串在文本缓冲区的起始位置所在的指针。其中,Buf表示文本缓冲区;BufLen表示文本缓冲区的长度;SelStart表示查找的起始位置;SelLength表示下次查找的偏移量;SearchString表示查找的字符串;Options表示属性设置(soDown表示run forward或run backward);如果未找到,则返回nil。

 

6. StrCat、StrLCat

StrCat

function StrCat(Dest: PChar; const Source: PChar): PChar;:将参数source中的字符添加到Dest字符串的尾部,Dest缓冲区中必须有足够的空间。其中,Dest表示目的缓冲区;Source表示源缓冲区。

var
  str: array[1..15] of char;
  pstr : PChar;
begin
  StrCopy(@str,'test');
  StrCat(@str,'_kimi');
  GetMem(pstr,sizeof(char) * 15);
  StrCopy(pstr,@str);
  Write(pstr);  //输出结果为test_kimi
  FreeMem(pstr);
end;

StrLCat

function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:按参数MaxLen指定的长度将参数Source中的字符串添加到Dest参加的字符串尾部。其中MaxLen表示字符串连接的最大长度。


7. StrComp、StrLComp

StrComp

function StrComp(const Str1, Str2 : PChar): Integer;:比较两个字符的大小,区分大小写。其中Str1、Str2为两个字符串指针。如结果大于0,则说明Str1排在Str2字符之后;如结果小于0,则说明Str1排在Str2之前。

StrLComp

function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;:比较两个字符的大小,不区分大小写。其中MaxLen代表比较的长度。

 

8. StrCopy、StrECopy、StrLCopy、StrPCopy、StrPLCopy

StrCopy

function StrCopy(Dest: PChar; const Source: PChar): PChar;:将参数Source中的字符复制Dest字符的尾部,Dest缓冲区中必须有足够的空间。其中,Dest表示目的缓冲区;Source表示源缓冲区。

StrECopy

function StrECopy(Dest: PChar; const Source: PChar): PChar;:与StrCopy最大的不同在于,StrECopy可以嵌套使用。

例如:

StrECopy(StrECopy(S,Turbo),''),Pascal);

 StrLCopy

function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:与StrCopy最大的不同在于,StrLCopy中指定了MaxLen参数长度的字符。

StrPCopy

function StrPCopy(Dest: PChar; const Source: string): PChar;:与StrCopy最大的不同在于,StrPCopy能返回Dest字符串的指针,与StrMove相似。

StrPLCopy

function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar;:与StrPCopy最大的不同和StrCopy与StrLCopy的不同点一致。

你可能感兴趣的:(Delphi)