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

1. AnsiStrLower、AnsiStrUpper

AnsiStrLower

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

[delphi]  view plain copy
  1. 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表示存放分解后的字符串列表。

[delphi]  view plain copy
  1. s:='abc,defg,hijkl';  
  2. 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表示源缓冲区。

[delphi]  view plain copy
  1. var  
  2.   str: array[1..15of char;  
  3.   pstr : PChar;  
  4. begin  
  5.   StrCopy(@str,'test');  
  6.   StrCat(@str,'_kimi');  
  7.   GetMem(pstr,sizeof(char) * 15);  
  8.   StrCopy(pstr,@str);  
  9.   Write(pstr);  //输出结果为test_kimi  
  10.   FreeMem(pstr);  
  11. 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可以嵌套使用。

例如:

[delphi]  view plain copy
  1. 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的不同点一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值