作者mongsq (有學問的孟孟)
看板C_Sharp
標題Re: [問題] Regex.Replace 字串部份取代
時間Sun Jul 15 00:20:55 2007
※ 引述《yu1 (~renard~)》之銘言:
: 繼續剛剛回傳網頁的問題....
: 這次碰到另一個關於字串的小問題
: 以下是程式碼:
: -----------------
: string input = reader.ReadLine(); //這邊的input是從回傳值得到的一個字串
: /* 例:<textarea cols=36 rows=15 name="after" wrap="virtual"
: /* style="width:320px;height:250px;">一二三四</textarea>
: */
: Regex.Replace (input, "</textarea>", "");
: textBox2.Text = input;
: -----------------
: 查過MSDN的Regex.Replace的方法,擺三個字串,中間是參照,右邊是取代項
: 想要的結果只有input裡面那個"一二三四" 而其他的html碼全都不要
: 我想說先試試看用replace砍尾巴那段</textarea>,不過顯示的結果沒有任何變動
: 一樣是顯示一大串出來,設定成頭那一大串結果也是一樣...
: 請問各位先進該如何解決此問題 <不一定要replace>
: 剛碰dotnet還不太熟悉
: 還請不吝賜教,感謝!
首先建立一個Regex物件
Regex regex = new Regex(@">(\w+)<");
參數是一個看起來奇怪的字串
那不是表情符號,那是一個RegularExpression
可以用來分析與擷取一些字串,相關的資料可以自己查一下
再來呼叫Regex類別的Matches方法,參數是你要拿來分析的字串
會傳回一個MatchCollection物件,裏頭是你分析出來的結果
不過你這裡只需要截取出一個字串
可以使用Match方法就好,會傳回Match物件
Match m = regex.Match(input);
再來提取字串的方法
String s = m.Group[1].Value;
s就是上面的"一二三四"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.142.153.242
推 yu1:感謝回應..但是抱歉我沒有說清楚問題... 07/15 00:42
→ yu1:因為翻譯的結果"一二三四"是變動的..沒有辦法match 07/15 00:43
→ yu1:請問有沒有單純處理字串的方法,砍頭去尾的那種,或者複製 07/15 00:44
→ yu1:字串中的第幾到第幾個字元到另一個字串之類的方法 再次感謝! 07/15 00:45
推 mongsq:如果你的input是上面那種格式的話,同樣的方法一樣可以取得 07/15 01:05
→ mongsq:你要的字串,但是某些情形RegularExpression會需要做更改 07/15 01:06
→ mongsq:像是遇到斷行,特殊字元等等 07/15 01:07
推 yu1:感謝!! 我來實作看看 07/15 01:12
推 PsMonkey:有沒有人要成立 RE 版... [大喊] 07/15 22:05
推 fillmore:推樓上 不錯的建議,幾乎不管走到哪邊都會遇到 07/16 14:33