Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在字符串VB.net中元素的第二个最后一个实例之前插入文本_Asp.net_Vb.net_Substr_Lastindexof - Fatal编程技术网

Asp.net 在字符串VB.net中元素的第二个最后一个实例之前插入文本

Asp.net 在字符串VB.net中元素的第二个最后一个实例之前插入文本,asp.net,vb.net,substr,lastindexof,Asp.net,Vb.net,Substr,Lastindexof,我有一个类似以下布局的文档(实际上要大得多): 对 我正在从其他地方导入html,但我无法控制它。我需要在最后的第二个div:I.e.之前添加一点额外的html <div id="header"> <div id="whatever"> <div id="content"> <p>Yes</p> </div> [In here!]

我有一个类似以下布局的文档(实际上要大得多):

我正在从其他地方导入html,但我无法控制它。我需要在最后的第二个div:I.e.之前添加一点额外的html

<div id="header">
    <div id="whatever">
        <div id="content">
            <p>Yes</p>
        </div>

        [In here!]

    </div>
</div>

[在这里!]
现在我已经用substr和lastindexof实现了一部分,但是我以前不太清楚如何到达div

以下是我所拥有的:

Public Partial Class RightMenuControl
    Inherits System.Web.UI.UserControl

    Private dtItemsFeed As dsItems.ItemsFeedDataTable
    Private taItemsFeed As New dsItemsTableAdapters.ItemsFeedTableAdapter
    Private allText As String


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        loadData()
    End Sub

    Private Sub loadData()

        dtItemsFeed = New dsItems.ItemsFeedDataTable
        dtItemsFeed = taItemsFeed.GetCode()

        For Each rFeed As dsItems.ItemsFeedRow In dtItemsFeed
            allText = rFeed.SideCode
        Next

        Dim FirstDiv As String = allText.LastIndexOf("</div>")
        Dim LastDiv As String = allText.Substring(FirstDiv, 6)

        Dim str As String = allText

        Dim strRes As String = str.Insert(FirstDiv, "<div>extrahtml</div>")

        ltrSide.Text = strRes


    End Sub
End Class
公共部分类RightMenuControl
继承System.Web.UI.UserControl
专用dtItemsFeed As dsItems.ItemsFeedDataTable
Private TaItems作为新DSItemStableApters.ItemsFeedTableAdapter提供
私有allText作为字符串
受保护的子页加载(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
loadData()
端接头
专用子加载数据()
dtItemsFeed=新dsItems.ItemsFeedDataTable
dtItemsFeed=taItemsFeed.GetCode()
对于每个rFeed,作为dtItemsFeed中的dsItems.ItemsFeedRow
allText=rFeed.SideCode
下一个
Dim FIRSTDIVAS String=allText.LastIndexOf(“”)
Dim LastDiv As String=allText.Substring(FirstDiv,6)
Dim str As String=allText
Dim strRes As String=str.Insert(FirstDiv,“extrahtml”)
ltrSide.Text=strRes
端接头
末级
将我的超文本HTML div打印到:

<div id="header">
    <div id="whatever">
        <div id="content">
            <p>Yes</p>
        </div>
    </div>
        <div>extrahtml</div> 
</div>

超HTML

汤姆

好的,知道这将永远是倒数第二个Div,这就应该做到了

Dim LastDiv As Int = allText.LastIndexOf( "</div>" )
Dim SecondToLastDiv As Int = allText.LastIndexOf( "</div>", LastDiv ) - 1

Dim str As String = allText
Dim strRes As String = str.Insert(SecondToLastDiv, "<div>extrahtml</div>")
Dim LastDiv As Int=allText.LastIndexOf(“”)
Dim SecondToLastDiv As Int=allText.LastIndexOf(“,LastDiv)-1
Dim str As String=allText
Dim strRes As String=str.Insert(SecondToLastDiv,“extrahtml”)

嘿,谢谢。这个结构有点像一个演示,大致展示了它是什么,但实际上里面有30个div,而且数字可以改变,所以我必须根据第二个最后一个div之前的情况来做(我也喜欢Jing和Snagit…!)我更新了我的答案,以考虑到你的评论。抱歉搞混了!
Dim LastDiv As Int = allText.LastIndexOf( "</div>" )
Dim SecondToLastDiv As Int = allText.LastIndexOf( "</div>", LastDiv ) - 1

Dim str As String = allText
Dim strRes As String = str.Insert(SecondToLastDiv, "<div>extrahtml</div>")