作者deo2000 (800IM)
看板C_and_CPP
標題[問題] 如何辨識出Line對話紀錄的日期戳記
時間Fri Nov 25 09:47:33 2016
額外使用到的函數庫(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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1480038455.A.176.html
1F:推 CoNsTaR: 對話前面會有時間不是嗎 前面沒有時間就是日期啦 11/25 11:49
2F:推 pili100: 可以試試regular 11/25 11:50
3F:→ CoNsTaR: Stmt = DateStemp | Record 11/25 11:58
4F:→ CoNsTaR: DateStemp = N/N/N(Token) 11/25 11:58
5F:→ CoNsTaR: Record = Time Name Sentence 11/25 11:58
6F:→ CoNsTaR: Time = N:N 11/25 11:58
7F:→ CoNsTaR: Name = Token 11/25 11:58
8F:→ CoNsTaR: Sentence = Token | Token Token 11/25 11:58
9F:→ CoNsTaR: 寫出類似這樣的 pattern 去 match 應該會比較簡單 11/25 11:58