设为首页 加入收藏

TOP

Delphi中常用字符串处理函数(一)
2019-08-23 00:31:48 】 浏览:49
Tags:Delphi 常用 字符串 处理 函数

1.copy(str,pos,num) 从str字符串的pos处开始,截取num个字符的串返回.
假设str为'abcdef',copy(str,3,2)='cd',copy(str,4,10)='def' 
2.concat(str1,str2{,strn}) 把各自变量连接起来,返回连接后的字符串(长度不能超过255) 
3.length(str)       返回str的字符个数,即其长度. 
4.pos(obj,target)   在target字符串中找出第一个出现obj的第一个字符位置,如果找不到,返回0. 
5.AnsiStrLastChar('你好')结果是“好”。如果有半个汉字出现,返回这半个汉字。二者字符串长度分别为2和1。 
6.CompareStr  - 区分大小写 
7.CompareText - 不区分大小写 
8.StringReplace(const S, OldPattern, NewPattern: string;Flags: TReplaceFlags): string;
字符串替换函数,需要引用SysUtils单元
rfReplaceAll:全部替换 
rfIgnoreCase:忽略大小写
使用方法Lg:
  str:='01231142211655767';//需要把:替换成----
s:=StringReplace(str,'','----',[rfReplaceAll]);
For Example:

var
aStr: String;
begin
aStr := 'This is a book, not a pen!';
ShowMessage(StringReplace (aStr, 'a', 'two', []));   //This is two book, not a pen!只替换了第一个符合的字
ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll]));
//This is two book, not two pen!替换了所有符合的字
aStr := 'This is a book, not A pen!';
ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll]));   //This is two book, not A pen!只替换了符合的字(小写a)
ShowMessage(StringReplace (aStr, 'a', 'two', [rfReplaceAll, rfIgnoreCase]));   //This is two book, not two pen!不管大小写替换了所有符合的字
end;

9.delete 是删除一个 字符串中的 某部分字符
用法是 delete(str,//被删除的字符串 
              index,//从第几个字符开始删除
              count //删除几个
              );
Delete(S, 2, 2); 就是从S中的第二个开始删除,删除2个字符即2、3.所以结果是145. 
////////////////////////////////////////////////////////
LEFTSTR, MIDSTR, RIGHTSTR的介绍
这几个函数都包含在StrUtils中,所以需要uses StrUtils; 
假设字符串是 Dstr := ’Delphi is the BEST’, 那么 
LeftStr(Dstr, 5) := ’Delph’ 
MidStr(Dstr, 6, 7) := ’i is th’ 
RightStr(Dstr, 6) := ’e BEST’



8.{判断字符是否是数字} 
function IsDigit(ch: char): boolean; 
begin 
  Result := ch in ['0'..'9']; 
end; 

9{判断字符是否是大写字符} 
function IsUpper(ch: char): boolean; 
begin 
  Result := ch in ['A'..'Z']; 
end; 
10{判断字符是否是小写字符} 
function IsLower(ch: char): boolean; 
begin 
  Result := ch in ['a'..'z']; 
end; 
11{转换为大写字符} 
function ToUpper(ch: char): char; 
begin 
  Result := chr(ord(ch) and $DF); 
end; 
12{转换为小写字符} 
function ToLower(ch: char): char; 
begin 
  Result := chr(ord(ch) or $20); 
end; 
{ Capitalizes first letter of every word in s } 

function Proper(const s: string): string; 
var 
  i: Integer; 
  CapitalizeNextLetter: Boolean; 
begin 
  Result := LowerCase(s); 
  CapitalizeNextLetter := True; 
  for i := 1 to Length(Result) do 
  begin 
    if CapitalizeNextLetter and IsLower(Result[i]) then 
      Result[i] := ToUpper(Result[i]); 
    CapitalizeNextLetter := Result[i] = ' '; 
  end; 
end; 
//////////////////////////////////////////////////////////// 
13.{返回两个子字符串之间字符的个数} 
Function p2pcount( s, ss1, ss2 : string ): integer; 
var i, j, slen : integer; 
begin 
   i := pos( ss1, s ); 
   j := pos( ss2, s ); 
   slen := Length(ss2); 
   if j >= i then Result := j - i + slen else Result := 0; 
end; 
14.{更快速的字符查询,快40%} 
function ScanStr(ToScan: PChar; Sign: Char):PChar; 
begin 
  Result:= nil; 
  if ToScan <> nil then 
    while (ToScan^ <> #0) do begin 
      if ToScan^ = Sign then begin 
        Result:= ToScan; 
        break; 
       end; 
     inc(ToScan); 
    end; 
end; 
///////////////////////////// 
15.替换字符串中子串的函数,他可以从字符串中找出指定子串,并替换为另一子串。 
function replacing(S,source,target:string):string; 
var site,StrLen:integer; 
begin 
{source在S中出现的位置} 
site:=pos(source,s); 
{source的长度} 
StrLen:=length(s  
		
Delphi中常用字符串处理函数(一) https://www.cppentry.com/bencandy.php?fid=86&id=229775

首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Delphi DBGrid类控件定位到某一行.. 下一篇delphi中WMI的使用(网卡是否接入..