替换字符串(.NET)中的单词

替换字符串(.NET)中的单词,.net,vb.net,.net,Vb.net,我有这个字符串 <img src="https://scontent-yyz1-1.xx.fbcdn.net/v/t45.1600-4/43283458_6107883208189_8123813812978581504_n.png?_nc_cat=108&oh=1f88c51fa75c03ec2923655cc0b8e0ce&oe=5C14EE74" height="500" 但这不起作用。cleanstring中没有任何内容;事件在单击按钮时执行。您尝试过正则表达式吗

我有这个字符串

<img src="https://scontent-yyz1-1.xx.fbcdn.net/v/t45.1600-4/43283458_6107883208189_8123813812978581504_n.png?_nc_cat=108&oh=1f88c51fa75c03ec2923655cc0b8e0ce&oe=5C14EE74" height="500"

但这不起作用。
cleanstring
中没有任何内容;事件在单击按钮时执行。

您尝试过正则表达式吗

Imports System.Text.RegularExpressions

Module Module1

    Sub Main()

        Dim pattern As String = "https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)"
        Dim input As String = "<img src='https://scontent-yyz1-1.xx.fbcdn.net/v/t45.1600-4/43283458_6107883208189_8123813812978581504_n.png?_nc_cat=108&oh=1f88c51fa75c03ec2923655cc0b8e0ce&oe=5C14EE74' height='500'"

        Dim regex As Regex = New Regex(pattern)
        Dim match As Match = regex.Match(input)

        If (match.Success) Then
            Console.WriteLine(match.Value)
        End If

    End Sub

End Module
导入System.Text.RegularExpressions
模块1
副标题()
Dim模式为String=“https?:\/\/(www\)?[-a-zA-Z0-9@:%.\+~\=]{2256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%\+.~\+&/=])”

Dim input As String=“如果您正在处理的内容始终具有相同的结构,则可以拆分字符串

Dim myDelims As String() = New String() { "src=" }
Dim url As String() = RichTextBox1.Text.Split(myDelims, StringSplitOptions.None)[1].Split(" ")[0].Replace(chr(39), "")
这将在字符串输入中查找“src=”,并获取第二个索引,然后再次拆分它以删除url后的任何额外数据,最后删除讨厌的引号

请注意,如果图像的HTML块之前声明了某些内容(即样式、类),那么您的索引将是错误的。我假设您是通过HTML中的图像块进行查看的

如果第二个索引不存在,此将失败,因此您需要正确处理该事件,可能需要通过try-catch块。

在“字符”上拆分字符串。您将返回一个字符串数组:

< img src=

https://scontent-yyz1-1.xx.fbcdn.net/v/t45.1600-4/43283458_6107883208189_8123813812978581504_n.png?_nc_cat=108&oh=1f88c51fa75c03ec2923655cc0b8e0ce&oe=5C14EE74

 height=

500
第二个是你想要的,对吧。使用已知起始部分(
“https:
)拆分原始字符串,并丢弃所有其他部分。这是硬编码逻辑位置
(2)

Dim parsed As String = "https:" &
    Input.Split(New String() {" ", "https:"}, StringSplitOptions.RemoveEmptyEntries)(2).Trim(ChrW(34))
您可以改为计算(过滤)字符串数组并获取您感兴趣的字符串。在本例中,包含子字符串“png”
的字符串。它可能是您正在寻找的任何其他东西。

Dim output As String() = Input.Split(New String() {" ", "https:"}, StringSplitOptions.RemoveEmptyEntries)
Dim parsed As String = "https:" & output.Where(Function(item) item.Contains("png")).FirstOrDefault()

替换方法对我有效(如果有人需要此方法)


Dim输入为String=“RichTextBox1.Text.Replace(”@CruleD Nop.Not WORKING这将是非常奇怪的,
cleanString
为空,因为如果Replace没有找到任何匹配项,它将返回原始字符串。您能否确认,即使您只使用
cleanString=RichTextBox1.Text
,也可以在
cleanString
中看到一些内容?
Dim output As String() = Input.Split(New String() {" ", "https:"}, StringSplitOptions.RemoveEmptyEntries)
Dim parsed As String = "https:" & output.Where(Function(item) item.Contains("png")).FirstOrDefault()
Dim input As String = "<img src='https://scontent-yyz1-1.xx.fbcdn.net/v/t45.1600-4/43283458_6107883208189_8123813812978581504_n.png?_nc_cat=108&oh=1f88c51fa75c03ec2923655cc0b8e0ce&oe=5C14EE74' height='500'"
Dim output As String = input.Replace(""" height=""500""", "").Replace("<img src=""", "")