[問題] 字串關鍵字變顏色

看板C_Sharp (C#)作者 (孤單的人)時間12年前 (2013/06/17 23:08), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
請問要比對字串中是否含有某些關鍵字,再去設定顏色,有沒有比較好的思路~ 例如 在資料庫中設定十組關鍵字與對應的顏色 關鍵字 顏色 A red B green C black . . . . . . . 我的做法是讀出來至DateTable裡,然後在去比對 string a = xxxxx; for(int i=0;i<dt.Rows.Count;i++) { if(a.Contain(dt.Rows[i][關鍵字])) { a.Replace(dt.Rows[i][關鍵字],'<clor=dt.Rows[i][顏色]>dt.Rows[i][關鍵字]</color>') } } 這樣從第一筆去比對,若包含關鍵字才變顏色 每次都要比dt.Rows.Count次 這樣效率好像很差 因為我的a 字串是好幾百筆 請問有比較好的寫法嗎?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.222.29 ※ 編輯: g66932007 來自: 123.110.222.29 (06/17 23:28)

06/18 14:07, , 1F
如果在資料庫撈出來的時候就已經是比對完後的字串呢?
06/18 14:07, 1F

06/18 14:07, , 2F
我個人通常都是資料庫能做掉的東西,會先考慮在上面試
06/18 14:07, 2F

06/18 14:08, , 3F
這是想法Q.Q 我還沒照你的範例實做過,有空我來試一下 : )
06/18 14:08, 3F

06/18 19:45, , 4F
Contain的判斷是多的,沒有找到關鍵字自然不會replace
06/18 19:45, 4F

06/18 21:57, , 5F
不是阿 是要判斷string a是否包含A 或B 或C 或....
06/18 21:57, 5F
文章代碼(AID): #1HloQ6bw (C_Sharp)
文章代碼(AID): #1HloQ6bw (C_Sharp)