求C#去掉html标签之间的所有空格、换行、tab符

yangxxxxxx66 2010-11-23 05:52:51
比如:
<table> <tr class="alt"> <th>Quantity</th> <td>300</td> <td>500</td> <td>1000</td> <td>2500</td> <td>4500</td> <td>MORE</td> </tr> <tr> <th> ePromos' Price</th> <td> $ 1.11 </td> <td> $ 1.07 </td> <td> $ 0.97 </td> <td> $ 0.89 </td> <td> $ 0.88 </td> <td> CALL </td> </tr> <!-- end Sale Price --> <tr class="alt"> <th> Rush Services</th> <th colspan="6"> <div style="text-align:right;"></div> </th> </tr> <tr> <th> 1 Day Rush</th> <td>$1.61</td> <td>$1.55</td> <td>$1.41</td> <td>$1.29</td> <td>$1.28</td> <td>CALL</td> </tr> <tr><td colspan="7" style="text-align:left"> One color/location. Orders must be received by 12 pm noon EST in order to qualify.</td></tr> <tr> <th> 3 Day Rush</th> <td>$1.44</td> <td>$1.28</td> <td>$1.16</td>
以上这一段字符串我是要赋值给前台js的,由于有空格、换行、tab符,导致js报错:unterminated string literal
需要变为诸如这种形式:<td align="right" class="tab20">200+</td><td align="right" class="tab20">500+</td><td align="right" class="tab20">1000+</td><td align="right" class="tab20">2500+</td></tr><tr><td valign="top" class="tab24" rowspan="1"><span id="pricename_1 day rush"></span>1 day rush$</td><td align="right" class="tab21">1.33</td><td align="right" class="tab21">1.29</td><td align="right" class="tab21">1.26</td><td align="right" class="tab21">1.24</td></tr>
谢谢!
...全文
1457 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjzjjl123 2011-12-13
  • 打赏
  • 举报
回复
为什么无效转移字符呢?
hyxl75 2011-01-22
  • 打赏
  • 举报
回复
向9楼致以最崇高的谢意,
广交天下好友 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 huangwenquan123 的回复:]
C# code

string youstr = "";
Regext reg = new Regex("(?<=>)\s|\n|\t(?=<)");
reg.Replace(input,"")
[/Quote]+1
s_ling2 2010-11-24
  • 打赏
  • 举报
回复
复制到Word里面 全选-查找和替换-替换 把^p替换成 空 替换后一般js脚本都能用
「已注销」 2010-11-23
  • 打赏
  • 举报
回复
本人有一个超级群:102550065,可以加500个人。希望大家一起探讨ASP,C#等技术。愿意加的都进来。此群才开通,还没有什么人。
huangwenquan123 2010-11-23
  • 打赏
  • 举报
回复

string youstr = "";
Regext reg = new Regex("(?<=>)\s|\n|\t(?=<)");
reg.Replace(input,"")
-过客- 2010-11-23
  • 打赏
  • 举报
回复
或者可能是这种效果

Regex reg = new Regex(@"(?<=^|>)[^<>]+(?=<|$)");
Regex regSpa = new Regex(@"^\s+|\s+$");
string result = reg.Replace(yourStr, delegate(Match m) { return regSpa.Replace(m.Value, ""); });
winner2050 2010-11-23
  • 打赏
  • 举报
回复
#region 压缩HTML
/// <summary>
/// 压缩HTML
/// </summary>
/// <returns></returns>
public static string Compress(string strHTML)
{
strHTML = Regex.Replace(strHTML, @">\s+\r", ">");
strHTML = Regex.Replace(strHTML, @">\s+\n", ">");
strHTML = Regex.Replace(strHTML, @">\s+<", "><");

return strHTML;
}
#endregion
-过客- 2010-11-23
  • 打赏
  • 举报
回复
try...

Regex reg = new Regex(@"(?<=^|>)[^<>]+(?=<|$)");
Regex regSpa = new Regex(@"\s+");
string result = reg.Replace(yourStr, delegate(Match m) { return regSpa.Replace(m.Value, ""); });
luck_dj 2010-11-23
  • 打赏
  • 举报
回复
检验了一下,9楼的顺利通过!
yangxxxxxx66 2010-11-23
  • 打赏
  • 举报
回复
顶起 up
Mr-Jee 2010-11-23
  • 打赏
  • 举报
回复
Regex.Replace(str,">\s+<","><")
一克代码 2010-11-23
  • 打赏
  • 举报
回复
上面的我用过! 可以!
一克代码 2010-11-23
  • 打赏
  • 举报
回复
Regex.Replace(str,@"<[^> ]+>","");
过滤所有html
public static string Getsub(int count, string str)
{
if (str.Length > count)
return str.Substring(0, count) + "...";
else
return str;
}
Peter200694013 2010-11-23
  • 打赏
  • 举报
回复
string str = "<a> </a>";
Regex reg = new Regex("(?<=>).*?(?=<)");

Console.WriteLine(reg.Replace(str, ""));
ycproc 2010-11-23
  • 打赏
  • 举报
回复
找个 正则 去搜搜

一大段 的
yangxxxxxx66 2010-11-23
  • 打赏
  • 举报
回复
网上找到这个http://topic.csdn.net/u/20091023/19/6de4620a-1713-435b-a3b3-196a86c39359.html
但是用了上面的正则还是不行,是不是还有什么半角全角的不可见字符之类的,期待高手!
leejelen 2010-11-23
  • 打赏
  • 举报
回复
知道那些换行的那些编码了,就直接替换掉咯。可以去看看正则!
Rock870210 2010-11-23
  • 打赏
  • 举报
回复
楼主各个属性之间也有空格呀
jiao3630 2010-11-23
  • 打赏
  • 举报
回复

string result = Regex.Replace(yourStr,@"\s","");

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧