【轉載原文製表 龜山阿卍】歡迎加入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;