[問題] 如何辨識出Line對話紀錄的日期戳記

看板C_and_CPP (C/C++)作者 (800IM)時間9年前 (2016/11/25 09:47), 編輯推噓2(207)
留言9則, 2人參與, 最新討論串1/1
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 結巴,不過應該無關 餵入的資料(Input): 純文字的 Line 對話紀錄原始格式 以下是一個跨日的 Line 對話紀錄範例 ================================ 22:23 Girl 謝謝你 2016/10/22(週六) 9:45 B.B. Haung 剛剛查了一下,才發現原來妳今天早上去的地方回家順路 9:49 Girl 你真有心 ================================ 目前我是用下列程式的方法處理 ifstream ifsLineHistory(strFilePath.c_str(), ios::in); string strReadLine; while(std::getline(ifsLineHistory,strReadLine)) { //一次處理一行 } 請問要怎麼做,才能可靠的辨識出該行文字是日期戳記? 最好還能讀取出格式化的日期內容。 每一行結尾都是CR -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.205.43 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1480038455.A.176.html

11/25 11:49, , 1F
對話前面會有時間不是嗎 前面沒有時間就是日期啦
11/25 11:49, 1F

11/25 11:50, , 2F
可以試試regular
11/25 11:50, 2F

11/25 11:58, , 3F
Stmt = DateStemp | Record
11/25 11:58, 3F

11/25 11:58, , 4F
DateStemp = N/N/N(Token)
11/25 11:58, 4F

11/25 11:58, , 5F
Record = Time Name Sentence
11/25 11:58, 5F

11/25 11:58, , 6F
Time = N:N
11/25 11:58, 6F

11/25 11:58, , 7F
Name = Token
11/25 11:58, 7F

11/25 11:58, , 8F
Sentence = Token | Token Token
11/25 11:58, 8F

11/25 11:58, , 9F
寫出類似這樣的 pattern 去 match 應該會比較簡單
11/25 11:58, 9F
文章代碼(AID): #1ODvWt5s (C_and_CPP)
文章代碼(AID): #1ODvWt5s (C_and_CPP)