本次示例效果如下:

TextBox1中输入如下字符串:

12<table><tbody><tr><td>1<br/>11</td><td>a</td></tr><tr><td>2</td><td>b</td></tr></tbody></table>

34<table><tbody><tr><td>3</td><td>c</td></tr><tr><td>4</td><td>d</td></tr></tbody></table>

点击按钮, 转换第一个tr下面的td为tr 将TextBox1中的table中第一个tr下面的td 转换成th ,将结果显示在TextBox2中

12<table><tbody><tr><th>1<br/>11</th><th>a</th></tr><tr><td>2</td><td>b</td></tr></tbody></table>

34<table><tbody><tr><th>3</th><th>c</th></tr><tr><td>4</td><td>d</td></tr></tbody></table>

转换第一个tr下面的tr为td 将TextBox2中的table中第一个tr下面的th 转换成td ,将结果显示在TextBox3中

12<table><tbody><tr><th>1<br/>11</th><th>a</th></tr><tr><td>2</td><td>b</td></tr></tbody></table>

34<table><tbody><tr><th>3</th><th>c</th></tr><tr><td>4</td><td>d</td></tr></tbody></table>

相关代码如下:

Imports System.Text.RegularExpressions 

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        TextBox2.Text = ConvertFirstTrTdToTh(TextBox1.Text.Trim)

        TextBox3.Text = ConvertFirstTrThToTd(TextBox2.Text.Trim)

    End Sub

   Public Function ConvertFirstTrTdToTh(ByVal strContent As String) As String        

   Dim strOld As String = strContent.Trim

        'RegexOptions.Singleline 模式下 .代替任何字符 包括回车换行        

  Dim regexTable As New Regex("<tbody[^>]*>(.+?)</tr>", RegexOptions.Singleline) 

  Dim regexFirstTr As New Regex("<tr[^>]*>(.+?)</tr>", RegexOptions.Singleline)        

  Dim regexTd As New Regex("<td[^>]*>(?<tdContent>.+?)</td>", RegexOptions.Singleline)

        For Each mTable As Match In regexTable.Matches(strOld)

            Dim strFirstTr As String = regexFirstTr.Match(mTable.Value).Value

            'For Each mTd As Match In regexTd.Matches(strFirstTr)            

    Dim strTdTh As String = regexTd.Replace(strFirstTr, "<th>${tdContent}</th>")            

    'Next

            strOld = New Regex(strFirstTr).Replace(strOld, strTdTh, )

        Next

        ConvertFirstTrTdToTh = strOld     

End Function

    Public Function ConvertFirstTrThToTd(ByVal strContent As String) As String        

  Dim strOld As String = strContent.Trim

      Dim regexTable As New Regex("<tbody[^>]*>(.+?)</tr>", RegexOptions.Singleline) 

  Dim regexFirstTr As New Regex("<tr[^>]*>(.+?)</tr>", RegexOptions.Singleline)        

  Dim regexTd As New Regex("<th[^>]*>(?<tdContent>.+?)</th>", RegexOptions.Singleline)

        For Each mTable As Match In regexTable.Matches(strOld)

            'Dim mgFirstTr As MatchCollection = regexFirstTr.Matches(mTable.Value)

            Dim strFirstTr As String = regexFirstTr.Match(mTable.Value).Value

            'For Each mTd As Match In regexTd.Matches(strFirstTr)            

Dim strTdTh As String = regexTd.Replace(strFirstTr, "<td>${tdContent}</td>")           

  'Next

            strOld = New Regex(strFirstTr).Replace(strOld, strTdTh, )

        Next

        ConvertFirstTrThToTd = strOld    

 End Function

End Class

最新文章

  1. 移动端Viewport &amp; 使用rem来开发移动端网站
  2. smartimageview使用与实现原理
  3. 返回顶部 和ico标题图片的制作
  4. [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。
  5. 我们应该如何去了解JavaScript引擎的工作原理 系列
  6. 零散的笔记:jquery中的事件
  7. $_FILES系统函数
  8. Python关于eval与json在字典转换方面的性能比较
  9. python中的有趣用法
  10. django笔记(二)
  11. Python进阶---面向对象第三弹(进阶篇)
  12. Day25 前端自学日记——入坑记
  13. fedora23没有/var/log/messages &amp;如何禁用后台自动更新软件?
  14. Redis入门到高可用(十五)—— GEO
  15. jackjson-databind-2.9.3 笔记
  16. QYH练字
  17. 子类化QTreeWidgetItem实现增加Item的属性
  18. 浅谈SQL Server---1
  19. 图片上传 纯js编码
  20. DOM操作表单

热门文章

  1. GUI、模块化与结对编程(homework-03)
  2. HDU 5762 Teacher Bo (暴力)
  3. 转载yield关键字理解
  4. POJ 2481 Cows (数组数组求逆序对)
  5. iOS 推送证书
  6. win7硬盘安装Ubuntu12.04 64位时显示Error 15: File not found.
  7. apacheserver下载、安装、配置
  8. 《C语言编写 学生成绩管理系统》
  9. C# 利用范型与扩展方法重构代码
  10. web app页面要求