文本我有一個具有以下數據的文本文件:解析德爾福
dgm P1
s0:->b1
*s1:b2->b1
S2:b2->b1,b3
dgm P2
s0:->b2
*s1:b1,b3->b2
我要分析此文件,以獲得一個數組,其元素將包含每個 DGM年代,直到下一個。也就是說,第一個元素是:
dgm P1
s0:->b1
*s1:b2->b1
S2:b2->b1,b3
第二個元素是:
dgm P2
s0:->b2
*s1:b1,b3->b2
等 請我如何去在德爾福。我正在尋找更好的方法來做到這一點。我試着從文件加載到TStringList。
begin
str:=TstringList.Create;
try
str.LoadFromFile('example.txt');
for i:=0 to str.Count -1 do
if str[i] ='dgm' then
//get the position, add it to an array;
//get the next position, till the end;
//use the positions to divide up the string
finally
str.Free;
但是,這是行不通的,我也覺得可能是一個更好的辦法 來處理這個比我簡要介紹。
什麼不工作呢?你需要花時間來閱讀[help]和[mcve]。 –
':='是賦值,使用'='進行比較。您可能會更好地讀出前3個字符與'dgm'比較的rs。如何區分大小寫?空白?這種語言的規則是什麼?你知道嗎?你知道如何執行字符串的基本操作嗎?看起來你沒有。如果你不知道,那麼你會奮鬥。 –
它不工作,因爲你檢查'dmg'字符串,但文件有'dmg P1','dmg P2'等 而你需要替換:= with =,正如David指出 –