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;:只针对特定的字符串)。

procedure TForm1.btn_LeftStrClick(Sender: TObject);
var
  temp : string;
begin
  temp := v_EditChr.Text;
  if Copy(temp,1,2) = 'aa' then
    temp := LeftStr(v_EditChr.Text,2);
  v_EditChr.Text := temp;
end;

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


2. Length

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

 

3. Pos

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

procedure TForm1.v_EditNumKeyPress(Sender: TObject; var Key: Char);
begin
  Inherited;
  if Not(Key in ['0'..'9','.',#8]) then
    Key := #0
  else if (Key = '.') and(Pos(Key,Trim(TEdit(Sender).Text))<>0) then   {防止多次输入.}
    Key :=#0;
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;

procedure TForm1.btn_CheckEmailClick(Sender: TObject);
begin
  if PosEx('@',Trim(v_CheckEmail.Text),2)=0 then
     ShowMessage('创建的邮件地址不合法');
end;


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

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

procedure TForm1.btn_QuotedClick(Sender: TObject);
var
  temp : string;
begin
  temp := 'kimi';
  ShowMessage(QuotedStr(temp));  //返回'kimi'
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用于设置字符串的长度。

procedure TForm1.Button1Click(Sender:TObject);
var
    temp:String;
    ptemp : PChar;
begin
   ptemp :='Hello World!';
   SetString(temp,ptemp,5);
   Caption := temp;  //'Hello'
end;


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值