C# 如何在HTML标记之间剥离字符
我有以下HTML:C# 如何在HTML标记之间剥离字符,c#,.net,regex,C#,.net,Regex,我有以下HTML: <h1>Text Text</h1> <h2>Text Text</h2> Text 我仍在尝试获得正则表达式的句柄,并尝试创建一个可以消除标记之间间距的句柄 我希望最终结果是: <h1>Text Text</h1><h2>Text Text</h2> Text 任何帮助都将不胜感激 更新 我想去掉所有空白、制表符和新行。因此,如果我有: <div>
<h1>Text Text</h1> <h2>Text Text</h2>
Text
我仍在尝试获得正则表达式的句柄,并尝试创建一个可以消除标记之间间距的句柄
我希望最终结果是:
<h1>Text Text</h1><h2>Text Text</h2>
Text
任何帮助都将不胜感激
更新
我想去掉所有空白、制表符和新行。因此,如果我有:
<div> <h1>Text Text</h1> <h2>Text Text</h2> </div>
Text
我希望它最终成为:
<div><h1>Text Text</h1><h2>Text Text</h2></div>
Text
如果只是这种特殊情况,这里有一个合适的正则表达式来查找所有空格:
Regex regexForBreaks = new Regex(@"h1>[\s]*<h2", RegexOptions.Compiled);
Regex regexForBreaks=new Regex(@“h1>[\s]*使用Regex或字符串替换的一种替代方法是包
这里有一个粗略的猜测:
/// <summary>
/// Regular expression built for C# on: Tue, Sep 1, 2009, 03:56:27 PM
/// Using Expresso Version: 3.0.2766, http://www.ultrapico.com
///
/// A description of the regular expression:
///
/// <h1>
/// <h1>
/// [1]: A numbered capture group. [.+]
/// Any character, one or more repetitions
/// </h1>
/// </h1>
/// Match expression but don't capture it. [\s*]
/// Whitespace, any number of repetitions
/// <h2>
/// <h2>
/// [2]: A numbered capture group. [.+]
/// Any character, one or more repetitions
/// </h2>
/// </h2>
///
///
/// </summary>
public static Regex regex = new Regex(
"<h1>(.+)</h1>(?:\\s*)<h2>(.+)</h2>",
RegexOptions.Singleline
| RegexOptions.CultureInvariant
| RegexOptions.Compiled
);
// This is the replacement string
public static string regexReplace =
"<h1>$1</h1><h2>$2</h2>";
//
///为C#on构建的正则表达式:2009年9月1日星期二下午3:56:27
///使用Expresso版本:3.0.2766,http://www.ultrapico.com
///
///正则表达式的说明:
///
///
///
///[1]:编号的捕获组。[.+]
///任何字符,一个或多个重复
///
///
///匹配表达式但不捕获它。[\s*]
///空格,任意重复次数
///
///
///[2]:编号的捕获组。[.+]
///任何字符,一个或多个重复
///
///
///
///
///
公共静态正则表达式Regex=新正则表达式(
“(.+)(?:\\s*)(.+)”,
RegexOptions.Singleline
|RegexOptions.CultureInvariant
|RegexOptions.Compiled
);
//这是替换字符串
公共静态字符串regexReplace=
"$1$2";
怎么样:Regex.Replace(str,@“>\s+所有空格或仅空格和制表符?如果保留换行符,是否仍要删除空格和制表符?对于所有标记名,特别是h1和h2?很好!我只想删除空格、新行和制表符。不确定我是否理解最后一点。删除h1和h2,您就得到了一般情况,还有什么其他问题你感觉到了吗?很好!我只是想消除空白、新行和制表符。@AnthonyWJones:你不能这么做。想象一下这个例子:“foo bar baz”。此处的空白是故意的,删除它将改变其含义。遗漏元素之间包含合法方括号字符的情况:
附录:我的意思是“遗漏”太多。它将删除
和`即使不应该.is'>之间的空格即使是有效的HTML?您不需要在元素的文本中使用带角括号的引用()吗?右括号有效,右括号无效。