我已经看到很多与此类似的解决方案,但我还没有找到适用于我的解决方案。
我已将源代码作为字符串。我只需要从整个页面源中获取一个值。我之前使用像“123”这样的字符串,但是如果我使用了我的pageSource,它什么也没有返回。 (是的,返回源代码的代码没有任何问题。我把它打印到文本框就好了)
例如,我的源代码是<div id="test" value="thisisatest">
,我想要回复这个。
此外,如果有人知道如何执行此操作,如果他们还可以提供一种方法将多个值打印到列表框中,那就太好了。
编辑:我发现我使用的不起作用。public string GetSubstringByString(string a, string b, string c)
{
return c.Substring((c.IndexOf(a) + a.Length), (c.IndexOf(b) - c.IndexOf(a) - a.Length));
}
使用(工作):
string result = GetSubstringByString("1", "3", "123");
MessageBox.Show(result);
我需要它如何工作:
string result = GetSubstringByString("1", "3", source);
MessageBox.Show(result);
答案 0 :(得分:1)
问题在于'&lt;'也出现在第一个令牌之前。您需要修复代码以查找第一个令牌的第一个实例。试试这个:
public string GetSubstringByString(string before, string after, string txt)
{
int bPos = txt.IndexOf(before);
int aPos = txt.IndexOf(after,aPos);
return txt.Substring((bPos + before.Length), (aPos - txt.IndexOf(before) - before.Length));
}