使用VB.NET正则表达式删除Excel XML转换

使用VB.NET正则表达式删除Excel XML转换,vb.net,regex,Vb.net,Regex,我在从Excel工作表转换为XML的文件中显示了以下行: <Worksheet ss:Name="Sheet1"> <Names> <NamedRange ss:Name="Print_Area" ss:RefersTo="=Sheet1!R30C1:R8642C15"/> </Names> <Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="8655" x:Fu

我在从Excel工作表转换为XML的文件中显示了以下行:

 <Worksheet ss:Name="Sheet1">
  <Names>
   <NamedRange ss:Name="Print_Area" ss:RefersTo="=Sheet1!R30C1:R8642C15"/>
  </Names>
  <Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="8655" x:FullColumns="1"
   x:FullRows="1" ss:StyleID="s16">
   <Column ss:Index="2" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="41.25"/>
   <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="36"/>
   <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="35.25"/>
   <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="38.25" ss:Span="1"/>
   <Column ss:Index="8" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="31.5"/>
   <Column ss:Index="11" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="30"/>
   <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="33.75"/>
   <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="28.5"/>
   <Row ss:StyleID="s18">
    <Cell ss:StyleID="s17"><Data ss:Type="String">UNITED STATES</Data></Cell>
    <Cell ss:StyleID="s17"/>
    <Cell ss:StyleID="s17"/>
    <Cell ss:StyleID="s17"/>
    <Cell ss:StyleID="s17"/>
    <Cell ss:StyleID="s17"/>
    <Cell ss:StyleID="s17"/>
   </Row>
我试图只删除这些行。我认为我对VB.NET中的正则表达式有很好的处理能力,但我似乎无法匹配这些行。我尝试了以下匹配字符串:

'Using (RegexOptions.Multiline)
Private Const Column_MatchExpression As String = "^[\s]*<Column[\s\S]+$"
Private Const Column_MatchExpression As String = "   <Column[\s\S]+$"
Private Const Column_MatchExpression As String = "^   <Column[\s\S]+$"
Private Const Column_MatchExpression As String = "^[\s]+<Column[\s\w\W]+$"
如果您对此事有任何想法,我们将不胜感激。

您怎么办

"^\s*<Column.*/>\s*$"
?


是否应该工作

是否将文件作为xmldoc加载到内存中,删除列节点并重新保存文件不可能?确定。。对我来说很好,不过很高兴你得到了答案。检查作为一个快速,简单和免费的在线工具正则表达式测试
\<Column[^>]*\>