我的文字是字符串,
<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"
我只想从字符串中获取URL。换句话说,我想删除<img src="
和" height="500"
来自字符串。
我尝试了以下操作:
Dim cleanString As String = Replace(RichTextBox1.Text, "<img src=""", "").Replace(""" height=""500""", "")
但这不起作用。 cleanstring
中没有任何内容;事件在“按钮单击”上执行。
答案 0 :(得分:1)
将字符串拆分为“”字符。您将获得一个字符串数组:
< 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
第二个是您想要的,对吧?
答案 1 :(得分:0)
您尝试过正则表达式吗?
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
答案 2 :(得分:0)
如果,您正在处理的内容将始终具有相同的结构,则可以拆分字符串。
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块来正确处理该事件。
答案 3 :(得分:0)
使用String.Split()。使用已知的开始部分("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()
答案 4 :(得分:0)
替换方法对我有用(如果有人在寻找它)
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=""", "")