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

1.LeftStr(返回从字符串首开始指定长度的子字符串

function LeftStr(const AText: AnsiString; const ACount: Integer): AnsiString; overload;
function LeftStr(const AText: WideString; const ACount: Integer): WideString; overload;

从AText的开始处返回指定ACount长度的子字符串。其中,ACount表示返回的子字符串的长度。如果是在多字节环境下并且AText类型为AnsiString,则利用LeftStr可能返回比Acount还要多的字符串,遇到这种情况,需要采用LeftBStr函数(function LeftBStr(const AText: AnsiString; const AByteCount: Integer): AnsiString;:只针对特定的字符串)。

[delphi]  view plain copy
  1. procedure TForm1.btn_LeftStrClick(Sender: TObject);  
  2. var  
  3.   temp : string;  
  4. begin  
  5.   temp := v_EditChr.Text;  
  6.   if Copy(temp,1,2) = 'aa' then  
  7.     temp := LeftStr(v_EditChr.Text,2);  
  8.   v_EditChr.Text := temp;  
  9. end;  

与RightStr刚好相反,其返回从字符串末尾开始指定长度的子字符串


2. Length

function Length(S): Integer;:返回一个字符串或数组的长度。

 

3. Pos

function Pos(Substr: string; S: string): Integer;:返回子字符串第一次出现在指定字符串中的索引值。如果在S中未找到SubStr则返回0。其中,SubStr为想查找的字符串;S为源字符串。

[delphi]  view plain copy
  1. procedure TForm1.v_EditNumKeyPress(Sender: TObject; var Key: Char);  
  2. begin  
  3.   Inherited;  
  4.   if Not(Key in ['0'..'9','.',#8]) then  
  5.     Key := #0  
  6.   else if (Key = '.'and(Pos(Key,Trim(TEdit(Sender).Text))<>0then   {防止多次输入.}  
  7.     Key :=#0;  
  8. end;  


4. PosEx

function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;:返回子字符串第一次出现在从指定字符串中的Offset位置开始的索引值。即函数在Offset开始处返回SubStr在S中的索引值。其中Offset默认设置为1,与Pos一致。当SubStr在S中未找到或Offset的大小超过S的长度或Offset<1,则返回值为0;

[delphi]  view plain copy
  1. procedure TForm1.btn_CheckEmailClick(Sender: TObject);  
  2. begin  
  3.   if PosEx('@',Trim(v_CheckEmail.Text),2)=0 then  
  4.      ShowMessage('创建的邮件地址不合法');  
  5. end;  


5.QuotedStr(通常用在SQL语句中)

function QuotedStr(const S: string): string;:返回字符串的引证串(引证串是指在字符串的开始和结尾添加“'”)。如果处理多字节字符系统(MBCS),则需要使用AnsiQuotedStr来替换(给返回的字符串加上引号)。

[delphi]  view plain copy
  1. procedure TForm1.btn_QuotedClick(Sender: TObject);  
  2. var  
  3.   temp : string;  
  4. begin  
  5.   temp := 'kimi';  
  6.   ShowMessage(QuotedStr(temp));  //返回'kimi'  
  7. end;  


6. SameText

function SameText(const S1, S2: string): Boolean;:根据有序值来比较两个字符串,不区分大小写。如果两个字符串值相同,则返回true;否则,返回false;不区分大小写,也不影响本地值;它与CompareText最大的区别在于CompareText返回的是整型,而SameText返回的是布尔类型。

 

7. SetLength

procedure SetLength(var S; NewLength: Integer);:设置字符串或动态数组变量的长度。对于short-string变量,NewLength必须从0到255。对于long-string或动态数组变量来说,对于已存在的字符串或动态数组元素,新分配的内存也是未定义的。如果S是动态数组类型,则必须初始化,并将内存设为0或者nil。

 

8. SetString

procedure SetString(var s: string; buffer: PChar; len: Integer);:设置给定字符串的内容和长度,即将Buffer字符串截取len的长度赋值给s。s表示字符串变量;buffer表示用于设置字符串的内容;len用于设置字符串的长度。

[delphi]  view plain copy
  1. procedure TForm1.Button1Click(Sender:TObject);  
  2. var  
  3.     temp:String;  
  4.     ptemp : PChar;  
  5. begin  
  6.    ptemp :='Hello World!';  
  7.    SetString(temp,ptemp,5);  
  8.    Caption := temp;  //'Hello'  
  9. end;  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值