C# 如何使用regex删除空标记?
清理完后,我得到了一堆空标签。我想删除它们,但到目前为止我一直在使用的表达式:C# 如何使用regex删除空标记?,c#,regex,C#,Regex,清理完后,我得到了一堆空标签。我想删除它们,但到目前为止我一直在使用的表达式: Regex.Replace(clean, "(<[/a-zA-Z]+?)([^>]*?)(>)", "$1$3"); 我看过一场讨论,但没有弄清楚。如何确保标记的第一个和第二个发现的内容是相同的,以便将它们匹配在一起,除了斜杠?我认为您不需要检查它们是否属于同一类型。这是假设您有一个有效的XML结构。如果是这样的话,表格上不可能有任何内容: 因此,您可以使用以下正则表达式 Regex.Replac
Regex.Replace(clean, "(<[/a-zA-Z]+?)([^>]*?)(>)", "$1$3");
我看过一场讨论,但没有弄清楚。如何确保标记的第一个和第二个发现的内容是相同的,以便将它们匹配在一起,除了斜杠?我认为您不需要检查它们是否属于同一类型。这是假设您有一个有效的XML结构。如果是这样的话,表格上不可能有任何内容: 因此,您可以使用以下正则表达式 Regex.Replaceinput,/][^>]*>]*>]*>; 我也发现了,但我不确定他们为什么在结束标记处使用加号而不是星。最好问问这件事 意识到你甚至可能需要删除那些看起来是空的标签——它们包含空的空间和类似的东西,我可以回到新浪的解决方案并添加以下内容
Regex.Replace(input, @"<([^>/][^>]*)>(( )*|\s*)</\1>", String.Empty);
就在这附近的某个地方,我们经历了从可爱到讨厌的正则表达式 我认为你不需要检查它们是否是同类。这是假设您有一个有效的XML结构。如果是这样的话,表格上不可能有任何内容: 因此,您可以使用以下正则表达式 Regex.Replaceinput,/][^>]*>]*>]*>; 我也发现了,但我不确定他们为什么在结束标记处使用加号而不是星。最好问问这件事 意识到你甚至可能需要删除那些看起来是空的标签——它们包含空的空间和类似的东西,我可以回到新浪的解决方案并添加以下内容
Regex.Replace(input, @"<([^>/][^>]*)>(( )*|\s*)</\1>", String.Empty);
就在这附近的某个地方,我们经历了从可爱到讨厌的正则表达式 您可以使用backreference来确保结束元素的名称与开始标记的名称匹配。这是我通过扩展Konrad的解决方案得到的模式:
result = Regex.Replace(input, @"<([^>/][^>]*)></\1>", String.Empty);
此处\1指模式中匹配的第一个组,该组由模式中的括号表示,括号围绕着开始元素的名称。您可以使用反向引用来确保结束元素的名称与开始标记的名称匹配。这是我通过扩展Konrad的解决方案得到的模式:
result = Regex.Replace(input, @"<([^>/][^>]*)></\1>", String.Empty);
此处\1指模式中匹配的第一组,由模式中的括号表示,括号围绕着开始元素的名称。这将是一个迟来的答案,但正如我在您的 虽然,它可以工作在一些简单的情况下,这将带来更多的麻烦,而维护和处理角案件 使用: 输出将处理@kirmir提到的案例
<root>
<notempty>text</notempty>
</root>
这将是一个迟来的答复,但正如我在你的报告中所说: 虽然,它可以工作在一些简单的情况下,这将带来更多的麻烦,而维护和处理角案件 使用: 输出将处理@kirmir提到的案例
<root>
<notempty>text</notempty>
</root>
我找到了一种方法来删除所有有类或没有类的空标记 我找到的正则表达式解决方案是: /]*>*|\s* 请看以下示例: 这是一个文本 该正则表达式只会删除Test2类
我希望这对你有帮助 我找到了一种方法来删除所有有类或没有类的空标记 我找到的正则表达式解决方案是: /]*>*|\s* 请看以下示例: 这是一个文本 该正则表达式只会删除Test2类
我希望这对你有帮助 如果在清除空标签后,您得到新的空标签怎么办?也许将数据作为XML进行处理会更容易。空标记的优点很好。幸运的是,该结构将是平坦的,我只需要降低一点大小+1不管怎样。如果清除空标签后,您得到新的空标签怎么办?也许将数据作为XML进行处理会更容易。空标记的优点很好。幸运的是,该结构将是平坦的,我只需要降低一点大小+不管怎样,1+1表示很好的扩展。对于String.Empty。我的小姐。还有,我喜欢大写字母中的类名字符串,就像上帝有意的!对于这个简单的xml/html代码段+1进行良好的扩展,这是行不通的。对于String.Empty。我的小姐。还有,我喜欢大写字母中的类名字符串,就像上帝有意的!这不适用于这个简单的xml/html片段这不适用于这个简单的xml/html片段这不适用于这个简单的xml/html片段