从标签中删除或替换动态字

时间:2014-03-23 07:31:37

标签: vb.net

我想删除标签中的特定动态字词 样本:

label1.text = "Name1:<br />DYANMIC_NAME1<br />Name2:<br />DYNAMIC_NAME2"

我可以使用

删除Name1:<br /><br />Name2:<br />
label1.Text = label1.Text.Replace("Name1:<br />", "").Trim
label1.Text = label1.Text.Replace("<br />Name2:<br />", "").Trim

我的问题是...... 如何删除或替换DYNAMIC_NAME1和/或DYNAMIC_NAME2 DYNAMIC的意义总是在变化..我希望你不要理解。 有人能帮我吗?? 对不起,我的英语不好。感谢。

1 个答案:

答案 0 :(得分:0)

假设您总是采用以下格式:

"Name1:<br />DYANMIC_NAME1<br />Name2:<br />DYNAMIC_NAME2"

以下是您可以做的事情:

label1.text = "Name1:<br />DYANMIC_NAME1<br />Name2:<br />DYNAMIC_NAME2"

'Split the string and use <br /> as the separator
Dim result As String() = label1.text.Split(New String() {"<br />"}, System.StringSplitOptions.RemoveEmptyEntries)

'Now you know that at indices 1 and 3, you have your two dynamic words.
label1.text = label1.text.Replace(result(1), "")
label1.text = label1.text.Replace(result(3), "")

请注意,我没有运行和测试它,但它应该让你知道我想在这里做什么。

编辑(根据Dominic Kexel的建议):

label1.text = "Name1:<br />DYANMIC_NAME1<br />Name2:<br />DYNAMIC_NAME2"

Dim separator As String() = New String() {"<br />"}
Dim result As String() = label1.text.Split(separator)

Dim sb As StringBuilder = New StringBuilder()
For i As Integer = 0 To result.Length - 1
    If i <> 1 And i <> 3 Then
        sb.Append(result(i))
    End If

    If i < result.Length - 1 Then
        sb.Append(separator(0))
    End If
Next

label1.text = sb.ToString()