作者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/cn.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