-4

我已经看到了许多与此类似的解决方案,但我还没有找到适合我的解决方案。

我已经将源代码作为字符串。我只需要从整个页面源中获取的一个值。我之前已经使用像“123”这样的字符串,但是如果我使用我的pageSource,它什么也没有返回。(是的,返回源代码没有任何问题。我把它打印到文本框就好了)

例如,我的源代码是<div id="test" value="thisisatest">,我想返回 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);
4

1 回答 1

1

问题是“<”也出现在第一个标记之前。您需要修复代码以查找在第一个令牌之后的第二个令牌的第一个实例。尝试这个:

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));
}
于 2013-08-22T05:38:09.893 回答