正则表达式删除所有文本除外

时间:2010-06-09 23:55:40

标签: asp.net regex

可能有一种更简单的方法,如果有的话,我会全力以赴。但是 - 我的ASP.NET页面上有一个TON控件,我给它们所有以下划线开头的ID。我将所有标记复制到Notepad ++中,我试图找到一个正则表达式,它将找到除控件之外的所有内容并用空格替换它。这样,我将有一个文本文件,其中包含我可能会抛出到Excel中的所有控件名称,并进行一些字符串操作以添加“.Text =”等。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果您只想要所有控件名称,您可以在运行时轻松枚举Page.Controls集合(如果需要,可以下载到子控件中)并打印出您想要的任何格式的列表,甚至可以添加“。 Text = ...“就在那里。

答案 1 :(得分:0)

FrontPage 2003($)和SharePoint Designer 2007(免费)(如果安装了其中一个)的一个显着优势是它们能够通过VBA访问文档。

您可以通过将网页加载到WebBrowser control并通过HtmlDocument属性访问Document类来执行相同的操作。

我找不到符合您要求的VBA代码,但我确实找到了以下可能有帮助的程序。

Option Explicit

Sub GatherFieldNames()
    Dim tag  As FrontPageEditor.IHTMLElement
    Dim i As Long
    Dim sDoc As String

    sDoc = vbNullString
    For i = 0 To ActiveDocument.all.Length - 1
        Set tag = ActiveDocument.all.Item(i)
        Select Case LCase$(tag.tagName)
            Case "form"
            Case "input", "select", "textarea"
                'sDoc = sDoc & Trim$(tag.Name) & vbCrLf
                'or
                sDoc = sDoc & Trim$(tag.getAttribute("name")) & vbCrLf
            Case "option"
                'included with select
            Case "table", "tbody", "tr", "td"
            Case "b", "font"
            Case "br", "p", "div", "hr", "span"
            Case "a", "img"
            Case "html", "head", "meta", "body", "script", "title", "link"
            Case "h1", "h2", "h3", "h4", "h5", "h6"
            Case "strong"
            Case "webbot"
            Case Else
              Debug.Print tag.tagName
        End Select
    Next i

End Sub