程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 通過代碼學習C#&.NET——委托使用(正則表達式替換)

通過代碼學習C#&.NET——委托使用(正則表達式替換)

編輯:C#入門知識

 

代碼編寫及運行環境Visual Studio 2010 .NET v4.0.30319

 

 

using System; 

using System.Collections.Generic; 

using System.Linq; 

using System.Text; 

using System.Text.RegularExpressions; 

 

namespace DelegateUseInRegexReplace 

    /// <summary> 

    /// 有的時候通過正則表達式替換字符串中匹配內容中部分內容,需要使用委托實現之。 

    /// 本例實現的是在html源代碼轉換可能出現的一種情況,即需要對超鏈接中href屬性中的域名或IP進行整體的替換 

    /// 本例中是把IP地址192.168.1.23替換為202.145.65.15 

    /// 正則表達式替換中的委托MatchEvaluator匹配的是具有一個Match參數返回string的方法 

    /// </summary>  www.2cto.com

    class Program 

    { 

        static void Main(string[] args) 

        { 

            string html = "<br /><a href=\"http://192.168.1.23/index.html\">192.168.1.23/index.html</a>"; 

            Console.WriteLine("原始字符串:"); 

            Console.WriteLine(html); 

            string htmlResult = Regex.Replace(html, "<a[^<]*>", new MatchEvaluator(ReplaceIP)); 

            Console.WriteLine("替換後字符串:"); 

            Console.WriteLine(htmlResult);             

        } 

 

        public static string ReplaceIP(Match match) 

        { 

            return match.Value.Replace("192.168.1.23", "202.145.65.15"); 

        } 

    } 

 

運行結果為:

\

 

摘自 gxmark的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved