Delphi 10.3.X 截取字符串函數subString 和copy()對應C# subString 及 String 常用字串符處理函數用法

【轉載原文製表 龜山阿卍】歡迎加入Delphi開發局QQ羣:32422310

Delphi 在面對跨平臺開發,程序語言也改進不少,不過有些改進,讓原本 Delphi 開發者有些不適應,最顯注的就是字串處理函數了,原本 Pascal 語言字串起始由 1 開始,幾乎是它的經典了,新版本字串由 0 開始,這個改變,讓很多人不適應,也多有抱怨,雖然 Delphi 儘量保有相容性,但如果要寫出一碼,跨所有平臺,還是建議全部採用新的寫法(由0開始),纔是一勞永逸的做法,下面就整理常用字串處理函數新舊對照表。

老版本Delphi裏沒有subString
只有Copy()
Copy(s, index, count)
其中s,主字符串, index是要拷的起點,count是要拷的字符數
如:Copy('heisetoufa', 3, 4),結果爲'seto'

Delphi String 常用字串符處理函數:

說明 舊寫法(Windows 平臺)由1開始 新寫法(跨所有平臺)由0開始
插入字串 Insert('str', Str, 1); Str := Str.Insert(0, 'str');
刪除字串 Delete(Str, 1, 1); Str := Str.Remove(0);
Str := Str.Remove(0, 1);
複製字串 Str := Copy(Str, 1, 2); Str := Str.Substring(0, 2);
轉成大寫 UpperCase(Str); Str := Str.ToUpper;
轉成小寫 LowerCase(Str); Str := Str.ToLower;
重複字符 StringOfChar('-', 15); Str := String.Cretae('-', 15);
找子字符 Pos('ABC123', Str); i := Str.IndexOf('ABC123');
是這些字 CharInSet(Str[1], [' ',#13]); Str.Chars[0].IsInArray([' ',#13]);

C#語言:

string sceneName = "12-手機122345678";
sceneName = sceneName.Substring(0, sceneName.IndexOf('-'));

Delphi語言實現相同的功能,分別使用了Copy和Substring函數:歡迎加入Delphi開發局QQ羣:32422310

var
  sceneName :string;
begin
  sceneName :=  '12-手機122345678';
  sceneName := sceneName.Substring(0,sceneName.IndexOf('-'));//正確
end;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章