Re: [問題] 如何把字串中的特定字串擷取出來
謝謝各位大大
之前小弟看完第一篇的第一個推文之後
就去找了RE的教學網站
今天再看版才發現又有好多大大回了小弟的問題
不過其他的方法小弟都還沒試
先說這兩天學RE的問題
我是看這個網站學的 http://0rz.net/fa14d
這裡講的很詳細,只是要花點時間消化英文
後來我寫來比對字串的程式碼如下
Regex regex = new Regex(
@"\b"">\b.*\b</a>",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
接下來就是要把我比對出來的用MessageBox.Show印出來
不過那個網站只教了如何比對而已
所以就到微軟MSDN的Example: Scanning for HREFs這一頁
網址 http://0rz.net/c715w
不過這裡小弟實在是看不太懂
就照著它的範例改寫成下面這樣
Match m;
for (m = regex.Match(outFilePath); m.Success; m = m.NextMatch())
{
MessageBox.Show("Found href " + m.Groups[1] + " at "
+ m.Groups[1].Index);
}
接下來我就卡關了
可以compile也可以run
不過那個MessageBox就是怎樣都Show不出來
請問大大問題出在哪裡
整段程式碼是這樣
void DumpHrefs(String outFilePath)
//outFilePath是存放HTML檔案的路徑
//在程式前面有宣告成outFilePath=@"\SD Card\research\html\administration.htm";
//那個路徑是PDA裡面的路徑
//小弟開發的是SmartDeviceApplication專案
{
Regex regex;
Match m;
regex = new Regex(
@"\b"">\b.*\b</a>",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
for (m = regex.Match(outFilePath); m.Success; m = m.NextMatch())
{
MessageBox.Show("Found href " + m.Groups[1] + " at "
+ m.Groups[1].Index);
}
}
麻煩各位大大幫我看看是哪裡有問題
微軟MSDN那裡小弟實在是看不懂
其他大大回PO的方法小弟去看看
真想不到有這麼多篇回PO
還以為我的問題只會獲得一個推文就沒了
真感謝每位在回文及推文中幫忙的大大
※ 引述《terrytai (Terry)》之銘言:
: 如果要從一個html檔案中找出特定的字串
: 整個原始碼抓出來的字串設程string tempCode
: 已經知道我想要的字串前面一定有>
: 後面一定有</a>
: 如何把html檔案中每個符合這個條件的字串
: 都抓出來另存成新的字串?
: 那麼我是不是就先設了string StartString = ">";
: string EndString = "</a>";
: 然後呢?
: 怎麼去找出介於StartString跟EndString中間的每個字串?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.96.22
→
02/19 16:53, , 1F
02/19 16:53, 1F
推
02/19 16:5, , 2F
02/19 16:5, 2F
→
02/19 17:05, , 3F
02/19 17:05, 3F
※ 編輯: terrytai 來自: 218.175.96.22 (02/19 17:25)
推
02/19 17:32, , 4F
02/19 17:32, 4F
→
02/19 17:33, , 5F
02/19 17:33, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 9 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章