作者uhtmp (云浩天)
看板C_and_CPP
标题[问题] (C++) 比较麻烦的字串分割问题
时间Sun Nov 1 04:21:57 2009
爬文的结果, 似乎还是没有找到解决方法@@"
使用者输入特定格式字串, 对字串做分割处理
使用者输入:
"A. B. CDE" and "GG man" not "easy" (用 getline( buffer ) 存入buffer)
(PS: "ox OX" 引号中的内容长度不一可能有空白可能没有)
需要获得的结果:
"A. B. CDE"
and
"GG man"
not
"easy"
请问该怎麽对此格式字串做分割处理?
若是以空白作为分割会出错:
"A.
B.
CDE"
and
..........
试了很多方法, 还是没有得到正确的结果>"<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.29.38
※ 编辑: uhtmp 来自: 114.45.29.38 (11/01 04:28)
1F:→ tinlans:遇到第一个 " 就把状态转换成搜寻下一个 " 的模式,平常 11/01 07:12
2F:→ tinlans:就是搜寻空格的模式,做简单的就是这样而已。 11/01 07:13
3F:推 andyjy12:SearchPair(char* star_pos,int* first,int*end,char ty) 11/01 11:49
4F:→ uhtmp:请问tinlans大 该怎麽对 " 做搜寻下一个 " 的处理? 11/01 12:50
5F:→ uhtmp:我只知道用buffer.find("\"")可以找到第一个的位置 11/01 12:51
6F:→ MOONRAKER:去找一点state machine的东东来看。 11/01 16:07
7F:→ uhtmp:这跟state machine有关系?! 11/01 16:11
8F:推 VictorTom:有关, 不去看SM的东西也没关系, 只是你就变成要自己穷举 11/01 19:12
9F:→ VictorTom:硬干所有的case, 有SM的观念会比较知道怎麽handle它们:) 11/01 19:12
10F:推 yoco315:直接用 regex tokenizer 11/01 19:23
11F:→ hilorrk:楼上让我想到RE版的某个人讲过: 11/02 06:54
12F:→ hilorrk:"很多C程式员还是用石器时代的方法处理字串..." 11/02 06:54
13F:→ VictorTom:唉~~看看OpenCV这些东西, 小弟我研究所的时候也是用石器 11/02 09:53
14F:→ VictorTom:时代的方法在做影像处理啊....Orz 11/02 09:53
15F:→ ledia:练习的时候试试石器有助於练力气, 真的要用还是用大炮吧 XD 11/02 10:45
16F:→ uhtmp:没办法, 小弟目前正在练力气@@" 不过这个问题倒是已经解决罗 11/07 23:56
17F:→ uhtmp:谢谢各位的指导~ 11/07 23:56