c# 中的 preg_replace

最近在按照一个php项目用c#重写,一边学习同时发现了他们的神似神不似的很多地方

 

把php preg_replace  用c# 重写了一下。

 

PHP语言的功能非常强大,主要就是靠它强大的函数来作支撑。我们在这篇文章中将会为大家详细讲解有关PHP函数preg_replace()的相关使用方法。

PHP函数preg_replace()原型:mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit])

 

PHP函数preg_replace()较c的功能更加强大。其前三个参数均可以使用数组;第四个参数$limit可以设置替换的次数,默认为全部替换。代码6.7是一个数组替换的应用实例。

PHP函数preg_replace()代码6.7 数组替换

 

  1. < ?php  
  2. //字符串  
  3. $string = "Name: {Name}< br>\nEmail: 
    {Email}< br>\nAddress: {Address}< br>\n"
    ;  
  4. //模式  
  5. $patterns =array(  
  6. "/{Address}/",  
  7. "/{Name}/",  
  8. "/{Email}/"  
  9. );  
  10. //替换字串  
  11. $replacements = array (  
  12. "No.5, Wilson St., New York, U.S.A",  
  13. "Thomas Ching",  
  14. "tom@emailaddress.com",  
  15. );  
  16. //输出模式替换结果  
  17. print preg_replace($patterns, 
    $replacements, $string);  
  18. ?> 

输出结果如下。

Name: Thomas Ching",
Email: tom@emailaddress.com
Address: No.5, Wilson St., New York, U.S.A

 

c#

 

 public static String PregReplace(this String input, string[] pattern, string[] replacements) {
     if (replacements.Length != pattern.Length) throw new ArgumentException("Replacement and Pattern Arrays must be balanced");
     for (var i = 0; i < pattern.Length; i++)
     { input = Regex.Replace(input, pattern[i], replacements[i]); }
     return input;
 }

 

 


 

posted @ 2009-12-19 00:47  邓武杰  阅读(717)  评论(0编辑  收藏  举报