您的位置:首页 > 编程语言 > Delphi

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

2013-02-07 14:31 495 查看
1.str

procedure Str(X [: Width [: Decimals ]]; var S);:格式化一个字符串,并将结果返回给一个变量。With表示该参数设置转换后的字符串宽度;Decimal用于设置小数位数;S用于存储转换后的字符串。在实际使用中,可以用str来替换IntToStr。

procedure TForm1.Button1Click(Sender : TObject);
var
   strone,strtwo : string;
   change : integer;
begin
   change := 5566;
   Str(451,strone);
   str(change,strtwo);
   Caption := strone +'  '+strtwo;  //返回的结果为'451  5566'
end;


2. StringOfChar

function StringOfChar(Ch: Char; Count: Integer): string;:返回一个指定循环次数的字符的字符串。其中,ch指定字符串的内容;Count指定函数返回的字符串由多少个字符组成。

S := StringOfChar('A', 10);  //S为AAAAAAAAAA



3. StringReplace

function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;:将一个子字符串替换为另一个子字符串,并返回新的字符串。OldPattern指定欲替换的内容;newPattern指定替换的内容;Flags替换标志(rfReplaceAll[替换所有的OldPattern子字符串],rflgnoreCase[忽略大小写])。

其好处是可以在原来的字符串上直接替换内容而不需要重新设置字符串。

Caption:= StringReplace('When THE user presses a mouse button','se','te',[rflgnoreCase,rfReplaceAll]);  //其结果为When THE uter prestes a moute button



4. StuffString

function StuffString(const AText: string; AStart, ALength: Cardinal; const ASubText: string): string;:在一个字符串的指定位置插入一个子字符串,并替换当前位置的字符。AText表示源字符串;AStart表示替换的起始位置;ALength表示替换的字符串长度;ASubText表示替换的字符串。

StruffString('str',3,1,'udent'); //将str中的r替换成udent


5. Trim、TrimLeft、TrimRight

Trim:

function Trim(const S: string): string; overload;

function Trim(const S: WideString): WideString; overload;

删除字符串首尾的空格。

TrimLeft:

function TrimLeft(const S: string): string; overload;

function TrimLeft(const S: WideString): WideString; overload;

删除字符串首部的空格。

TrimRight:

function TrimRight(const S: string): string; overload;

function TrimRight(const S: WideString): WideString; overload;

删除字符串末尾的空格。



6. Val

procedure Val(S; var V; var Code: Integer);:将数字格式字符串转化为数字表达式。S表示有数字格式的字符组成;V表示一个整数或实数表达式,如果V是一个整数,则S必须能够转换为整数;Code表示如果字符串S是非法的,则非法字符索引被存储在Code中(用于存储在字符串S中出现的非法字符索引),否则Code被设置为0。对于以null结尾的字符串,非法字符返回的错误位置比实际的以0为基准的字符索引大1。

procedure TForm1.btn_valClick(Sender: TObject);
var
  i,m : Integer;
begin
  Val('4B',i,m);
  if m=0 then
    ShowMessage(IntToStr(i))
  else
    ShowMessage(IntToStr(m)); //m=2
end;


7. AnsiStrComp、AnsiStriComp

AnsiStrComp

function AnsiStrComp(S1, S2: PChar): Integer;:判断两个字符的大小,区分大小写。其中S1、S2为两个字符串指针。如果S1>S2,则结果>0;如果S1=S2,则结果=0;如果S1<S2,则结果<0。AnsiStrComp对两个字符的比较是根据ASCII来区分的,在ASCII中,小写字符的值>大写字符。另外,这个函数支持多字符类型的系统(MBCS)。

AnsiStrIComp

function AnsiStrIComp(S1, S2: PChar): Integer;:判断两个字符的大小,不区分大小写。其结果与AnsiStrComp一致。



8. AnsiStrLComp、AnsiStrLiComp

AnsiStrLComp

function AnsiStrLComp(S1, S2: PChar; MaxLen: Cardinal): Integer;:判断两个指定长度的字符串的大小,区分大小写。其中S1、S2为两个字符串指针,MaxLen表示指定比较S1、S2的字符长度。如果S1>S2,则结果>0;如果S1=S2,则结果=0;如果S1<S2,则结果<0。

var
    i : Integer;
begin
    i := AnsiStrlComp('abc','abd',2); //i=0
end;

AnsiStrLiComp

function AnsiStrLIComp(S1, S2: PChar; MaxLen: Cardinal): Integer;:判断两个指定长度的字符串的大小,不区分大小写。其中S1、S2为两个字符串指针,MaxLen表示指定比较S1、S2的字符长度。如果S1>S2,则结果>0;如果S1=S2,则结果=0;如果S1<S2,则结果<0。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: