Delphi字串處理

2021-05-26 22:39:21 字數 838 閱讀 2504

悲催啊,使用了這麼久的delphi,還是沒有理解字串。今天看了一篇文章稍有理解。

1.段字串shortstring。

短字串的管理師這樣的,類似陣列:0處儲存字串的長度,從1處開始了內容,shortstring的總長度是256,因此,實際的內容長度只能為255,並且內容結束沒有結束字元,即不是以#0結尾的。

2.ansi-string.

delphi裡面預設的字串是ansi-string,這種字串是以#0為結尾的,這樣就可以同pchar相互的轉換。

3 對於string型別,到底是當做那種字串型別來處理,這樣用編譯指令;來確認的,開啟代表是ansi-string,這種是系統預設的。關閉代表shortstring,這種事系統預設的。另外,定義string[n].04 單位元組、雙位元組

具體是哪種,決定了表示的方式、長度。並不是說只有用widestring來表示漢字,但是取的時候要注意。

procedure tform1.btn4click(sender: tobject);

vars: string;

ws: widestring;

begin

s := 'i''m a student學生';

ws := 'i''m a student學生';

showmessage(s[length(s)]);  //這樣取得的是空的,並不是說明s不能表示漢字

showmessage(ansilastchar(s)); //顯式說明為ansi這種方式表示

showmessage(ws[length(ws)]);  //這種不會混淆,可以直接取

end;

關於string豐富的操作來自於strutils。

DELPHI 字串分割處理

tstringlist,預設分割符為逗號 空格 回車,還可以指定單個字元 但是待分解的字串中不能包含逗號 空格 回車 indy的庫函式和tstringlist差不多,也不能包含逗號 空格 回車 下面這個函式是我自己寫的,指定分割符,可以單個字元,也可以是多個字元為分割符號,專案中一直在用,還不錯 f...

Delphi 處理字串常用函式

pos a,b 該函式用於查詢a在b中第一次出現的位置 pos a xa city,xa city 返回則是2copy a,x,y 從a字串的x處開始,擷取y個字元的串返回.copy gk,nmlgbd 4,6 返回 nmlgbd delete a,x,y 從a中的x開始刪除,刪除y個字元 var ...

Delphi 字串操作

常忘記,在此做筆記。這幾個函式都包含在strutils中,所以需要uses strutils 假設字串是 dstr delphi is the best 那麼 leftstr dstr,5 delph midstr dstr,6,7 i is th rightstr dstr,6 e best fu...