[問題] (C++) 比較麻煩的字串分割問題

看板C_and_CPP (C/C++)作者 (云浩天)時間16年前 (2009/11/01 04:21), 編輯推噓3(3014)
留言17則, 8人參與, 最新討論串1/2 (看更多)
爬文的結果, 似乎還是沒有找到解決方法@@" 使用者輸入特定格式字串, 對字串做分割處理 使用者輸入: "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)

11/01 07:12, , 1F
遇到第一個 " 就把狀態轉換成搜尋下一個 " 的模式,平常
11/01 07:12, 1F

11/01 07:13, , 2F
就是搜尋空格的模式,做簡單的就是這樣而已。
11/01 07:13, 2F

11/01 11:49, , 3F
SearchPair(char* star_pos,int* first,int*end,char ty)
11/01 11:49, 3F

11/01 12:50, , 4F
請問tinlans大 該怎麼對 " 做搜尋下一個 " 的處理?
11/01 12:50, 4F

11/01 12:51, , 5F
我只知道用buffer.find("\"")可以找到第一個的位置
11/01 12:51, 5F

11/01 16:07, , 6F
去找一點state machine的東東來看。
11/01 16:07, 6F

11/01 16:11, , 7F
這跟state machine有關係?!
11/01 16:11, 7F

11/01 19:12, , 8F
有關, 不去看SM的東西也沒關係, 只是你就變成要自己窮舉
11/01 19:12, 8F

11/01 19:12, , 9F
硬幹所有的case, 有SM的觀念會比較知道怎麼handle它們:)
11/01 19:12, 9F

11/01 19:23, , 10F
直接用 regex tokenizer
11/01 19:23, 10F

11/02 06:54, , 11F
樓上讓我想到RE版的某個人講過:
11/02 06:54, 11F

11/02 06:54, , 12F
"很多C程式員還是用石器時代的方法處理字串..."
11/02 06:54, 12F

11/02 09:53, , 13F
唉~~看看OpenCV這些東西, 小弟我研究所的時候也是用石器
11/02 09:53, 13F

11/02 09:53, , 14F
時代的方法在做影像處理啊....Orz
11/02 09:53, 14F

11/02 10:45, , 15F
練習的時候試試石器有助於練力氣, 真的要用還是用大砲吧 XD
11/02 10:45, 15F

11/07 23:56, , 16F
沒辦法, 小弟目前正在練力氣@@" 不過這個問題倒是已經解決囉
11/07 23:56, 16F

11/07 23:56, , 17F
謝謝各位的指導~
11/07 23:56, 17F
文章代碼(AID): #1Ax9ndE2 (C_and_CPP)
文章代碼(AID): #1Ax9ndE2 (C_and_CPP)