Delphi字串的基本操作--轉

來源:互聯網
上載者:User

標籤:

轉載:http://www.cnblogs.com/pchmonster/archive/2011/12/16/2290034.html

結合這個部落格一起學習:http://www.cnblogs.com/xumenger/p/4427957.html

 

在實際編程中,這些操作會經常用到的。開始你不用著急全部記住它們,只要知道有這些功能就行,需要用到的時候能查到即可。

1、用 + 操作符實現字串的串連
123456789101112 var  X: Integer;  S1: string;  S2: string;begin  S1 := ‘Hello‘;  S2 := ‘World‘;  ShowMessage(S1 + ‘ ‘ + S2); { 串連了三個字串S1,S2,和空白字元串}   X := 2011;  ShowMessage(‘今年是 ‘ + IntToStr(X)); { IntToStr函數將整型轉換為字串類型}end;

顯示的訊息框依次為:

2、腳標操作符[ ]

用腳標操作符可以從一個字串中提取個別字元。

12345678 var  S1: string;  S2: string;begin  S1 := ‘Hello World‘;  S2 := S1[1];  ShowMessage(S2);  { 將擷取S1字串的第一個字元H}end;

字串是從1開始的,字串中的第一個字元是在S[1]中,短字串(ShortString)的0元素(S[0])包含了字串的長度,而不是字串的第一個字元,在長字串(AnsiString)和寬字元串(WideString)中不能存取X[0]。

3、字串中的控制字元

字串常量( string literal  or string constant)一般用兩個單引號引起來,如果要字串本身也有單引號,需要用兩個單引號表示,如下:

12345 ‘BORLAND‘           { BORLAND }‘You‘‘ll see‘       { You‘ll see }‘‘‘‘                { ‘ }‘‘                  { null string }‘ ‘                 { a space }

在字串中可以嵌入控制字元,當需要在字串中增加一些非列印字元時,這個功能是非常有用的。字串中嵌入控制字元用以發送給串列裝置。

用字元#就可以為字串增加控制字元,例如:

12345678 var  S1: string;  S2: string;begin  S1 := #89#111#117;  S2 := ‘You‘;       { 實際上S1和S2是一樣}  ShowMessage(S1 + #13#10 + S2); { #13#10表示換行斷行符號carriage-return-line-feed}end;

運行後顯示效果如下:

4、用多行代碼擴充字元串

用單引號引起來的字串叫做字串常量( string literal or string constant),其最多隻能有255個字元。

為了增強可讀性和可維護性,把一個字串分成多行是必要的,需要用到+操作符,例如:

1234 ShowMessage(‘This is very, very long message ‘ +  ‘that seems to go on and on forever. In order ‘ +  ‘to make the code more readable the message has ‘ +  ‘been split across several lines of code.‘);
5、字串的比較

字串比較操作符包括:=(等於)、<>(不等)、<(小於)、>(大於)、<=(小於或等於)、>=(大於或等於)。

這些操作符比較字串都是基於ASCII數值。在大部分的情況下,只需要用等號來判別字串是否等於一個定值或者不等於一個定值。例如:

123456789 var  S1: string;begin  S1 := ‘Hello World‘;  if S1 = ‘Hello World‘ then    ShowMessage(‘相等‘)     { 將顯示“相等”的訊息框}  else    ShowMessage(‘不相等‘);end;

運行結果如下:

6、字串操作的函數

基本常用的字串操作函數都定義在System或者SysUtils單元中,我們就用一段範例講解下基本常用的字串函數的用法。

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 const  S1: ShortString = ‘Hello World‘;var  X: Integer;  SP: PChar;  S2: string;  RS: string; { 顯示最後的結果}begin  SP := ‘Pchar‘;   //copy函數擷取從最後一個字元開始,共一個字元  S2 := Copy(S1, Length(S1), 1);  { S2 = ‘d‘}  RS := RS + S2 + #13#10;   //刪除字串中指定位置字元的Delete函數  S2 := S1;  Delete(S2, 1, 1);               { S2 = ‘ello World‘}  RS := RS + S2 + #13#10;   //格式化字串Format函數  S2 := Format(‘Time is : %d:%d:%d‘, [12, 15, 40]);  { S2 = ‘Time is : 12:15:40‘}  {%d表示將在這裡放置一個整數,[2011]表示放置2011這個數值}  RS := RS + S2 + #13#10;   //數值轉換為字串InttoStr函數  X := 65535;  S2 := IntToStr(X); { S2 = ‘10‘}  RS := RS + S2 + #13#10;   //擷取字串長度Length函數  X := Ord(S1[0]);   { X = 11}  X := Length(S1);   { 因為S1為ShortString類型,所以可以通過S1[0]來擷取字元長度}  RS := RS + IntToStr(X) + #13#10;   //轉化為小寫LowerCase函數  S2 := LowerCase(S1);  { S2 = ‘hello world‘}  RS := RS + S2 + #13#10;   //轉化為大寫UpperCase函數  S2 := UpperCase(S1);  { S2 = ‘HELLO WORLD‘}  RS := RS + S2 + #13#10;   //返回指定字元重複的字串  S2 := StringOfChar(‘A‘, 10);  { S2 = ‘AAAAAAAAAA‘}  RS := RS + S2 + #13#10;   //StrPas把一個空結尾字串(PChar或字元數組)轉化為Pascal字串  S2 := StrPas(SP);    { S2 = ‘Pchar‘}  RS := RS + S2 + #13#10;   //StrPCopy把一個Pascal字串轉化為空白結尾字串  StrPCopy(SP, ‘World Hello‘);   { SP = ‘World Hello‘}  RS := RS + StrPas(SP) + #13#10;   //Trim用於去除字串前後的空格和控制字元  S2 := #13#10‘ Hello World   ‘;  S2 := Trim(S2);            { S2 = ‘Hello World‘}  RS := RS + S2 + #13#10;   //StringReplace用於替換字串中制定字元  S2 := ‘AABBCC‘;  S2 := StringReplace(S2, ‘A‘, ‘E‘, [rfReplaceAll]);  RS := RS + S2 + #13#10;   ShowMessage(RS);end;

運行結果如下:

以上代碼均在Delphi7中測試成功。

Delphi字串的基本操作--轉

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.