字符串trim的使用问题
我有一段字符串“    <TD   height=25>  <FONT   style= "FONT-SIZE:   8pt ">  <B> 2.8.0.8 </B>  </FONT>  </TD> ” 
 我想要提取 <B>  </B> 中间的字符串   “8.8.0.8”,所以我用了字符串的trim函数,代码如下: 
 trimChar   =    " <TD   height=25>  <FONT   style=\ "FONT-SIZE:   8pt\ ">  <B>  "; 
 line   =   line.TrimStart(trimChar.ToCharArray()); 
 trimChar   =    " </B>  </FONT>  </TD>  "; 
 line   =   line.TrimEnd(trimChar.ToCharArray());   
 运行之后发现问题:如果我要提取的字符串开头或末尾包含有trimChar中的字符,那样我要的字符也会被trim掉,比如我开头的trimchar有8这个数字,那么我最终提取到的字符串就只有   “.8.0.8”而不是“8.8.0.8”,这种问题要如何解决??或者说哪位高手有更好的提取字符串的办法??要说明的是我要提取的字符串是IP地址,位数不定,只知道是在 <B>  </B> 之间。
------解决方案--------------------要说明的是我要提取的字符串是IP地址,位数不定 
 ------------ 
 我所给的只是根据你这个需求来写的,需求不同,当然可以写不同的正则   
 按你原来的思路,可以用SubString或者Remove把不要的内容去掉,但这样做局限性岂不是更大   
 如你所说,如果要提取的内容两侧固定,那就是符合一定的规律,可以换种形式的正则来做   
 比如“只知道是在 <B>  </B> 之间”这种需求   
 提取单个这样写   
 string yourStr = ..........; 
 string ip = string.Empty; 
 Match m = Regex.Match(yourStr, @ "(? <= <b> )[\s\S]*?(?= </b> ) ", RegexOptions.IgnoreCase); 
 if (m.Success) 
 { 
     ip = m.Value; 
 }     
 提取多个这样写   
 string yourStr = .........; 
 MatchCollection mc = Regex.Matches(yourStr, @ "(? <= <b> )[\s\S]*?(?= </b> ) ", RegexOptions.IgnoreCase); 
 foreach (Match m in mc) 
 { 
     richTextBox2.Text += m.Value +  "\n "; 
 }