如果你没有真正得到它我真正想要的让我更好地解释你:
我有一个:
<style>
#spinner {
opacity: 100;
position: absolute;
}
body[unresolved] #spinner {
opacity: 0;
}
</style>
<body unresolved>
<img id="spinner" src=spinner.gif>
<core-list-dart></core-list-dart>
</body>
现在我必须从stringRaw = "<img src=\"http://www.b92.net/news/pics/2015/01/15/111348233854b817af5b4bc991063053_v4 big.jpg\" title=\"\" alt=\"\" />"
到string1 = "<img src=\""
执行某种子字符串,并且在这种情况下必须采用中间的string2 = "\" title=\"\" alt=\"\" />"
。
我无法使用stringFinal = "http://www.b92.net/news/pics/2015/01/15/111348233854b817af5b4bc991063053_v4 big.jpg"
方法,因为我也不知道substring
和string1
中有多少个字符,似乎string2
方法不起作用应该来自StackOverFlow上的THIS问题。
修改由于某些原因,我的split
具有此值:stringRaw
无论如何,我做别人建议的事情,但我仍然收到vbCrLf & vbTab & vbTab & vbTab & "<img src=""http://www.b92.net/news/pics/2015/02/05/203819435354d39f17d74f0173575440_v4 big.jpg"" title="""" alt="""" />" & vbTab & vbTab
提前感谢您的回答。
答案 0 :(得分:1)
我相信这段代码应该抓住你想要的'stringFinal'。
// Get the index of 'src="'
Int32 startIndex = stringRaw.IndexOf("src=\"");
// Get the substring starting at 'src="' and ending at the first '"' after 'src="'.
stringRaw.Substring(startIndex, stringRaw.IndexOf("\"", startIndex) - startIndex);
哦,抱歉刚注意到VB标签。这是C#所以sytnax可能略有不同,但功能和参数应该是相同的。
我忘了- startIndex
我在想SubString
第二个参数是索引而不是计数。尝试添加该调整。
答案 1 :(得分:1)
我遇到了追问相同角色的问题,所以我去了字符串中的文字,例如&#34; http&#34;和&#34; title =&#34;。这是在VB中:
Dim startIndex As Int32 = stringRaw.IndexOf("http")
Dim endIndex As Int32 = stringRaw.IndexOf("title=") - 2
Return stringRaw.Substring(startIndex, endIndex - startIndex)
我用了#34; http&#34;并没有包括&#34;://&#34;以防你需要得到一个&#34; https&#34;在某一点。我用&#34; title =&#34;而不是&#34; title&#34;以防单词标题出现在链接中。
答案 2 :(得分:1)
您还可以使用正则表达式。类似的东西:
Dim stringRaw as String = vbCrLf & vbTab & vbTab & vbTab & "<img src=""http://www.b92.net/news/pics/2015/02/05/203819435354d39f17d74f0173575440_v4 big.jpg"" title="""" alt="""" />" & vbTab & vbTab
Dim regx as New Regex("src=\""(.*)\""\s+title")
Dim match as Match = regx.Match(stringRaw)
If match.Success
' Outputs http://www.b92.net/news/pics/2015/02/05/203819435354d39f17d74f0173575440_v4 big.jpg
Console.WriteLine(match.Groups(1).Value)
End If
答案 3 :(得分:1)
Public Function ExtractSrcAttribute(ByVal element As String) As String
Dim startToken As String = "src="""
Dim endToken As String = """"
Dim startIndex As Integer = element.IndexOf(startToken) + startToken.Length
Dim endIndex As Integer = element.IndexOf(endToken, startIndex)
If startIndex > element.Length OrElse endIndex > element.Length OrElse endIndex < startIndex Then
'error
End If
Return element.SubString(startIndex, endIndex)
End Function
答案 4 :(得分:1)
正如我在评论中提到的,您可以使用Regex
轻松完成此操作。这使用Positive-LookBehind
和Positive-LookAhead
。请参阅下面的示例。这也经过了试验和测试。
Dim rgex As New Regex("((?<=src=\\"").*)(?=\\""\s+title=)")
Dim mtch As Match = rgex.Match(TextBox1.Text)
If mtch.Success Then
MessageBox.Show(mtch.Groups(1).Value)
End If