gpt4 book ai didi

java - 如何使用indexOf打印出indexOf范围?

转载 作者:行者123 更新时间:2023-12-01 23:48:29 24 4
gpt4 key购买 nike

1) 在我的 java 程序中,它连接到网页并获取 html 页面源。
2) 然后继续将整个页面源代码转换为字符串 (htmlString)。
3) 我想获取 html 源中的一个值并将其放入字符串 (myString) 中。
4)我正在尝试使用indexOf并具有以下正则表达式,该正则表达式能够找到我试图获取的值开始之前的位置:

System.out.println(htmlString.indexOf("<input name=\"k\" value=\"", 1));

这将返回 4861

5) 我想打印出这些值并将它们存储到索引位置范围 4862 - 4893 的字符串中。我似乎不知道该怎么做。

此外,每次刷新页面时,indexOf 范围 4862-4893 的值都会发生变化。否则我会直接搜索该特定值。

我正在尝试做的事情的基本示例:

HTML 源代码:

<input type='hidden' name='k' value='nnhMTGbb2z5eryuksFGns9tt0EEjqBX8'>

使用我搜索的正则表达式和indexOf:

<input type='hidden' name='k' value=

发现它位于位置 4861,现在我需要获取 4862-4893 之间的所有内容,该值:nnhMTGbb2z5eryuksFGns9tt0EEjqBX8并将其放入字符串中。

我一定错过了一些我觉得简单的东西。我该怎么办?

最佳答案

众所周知,正则表达式不适合解析 HTML。如果我是你,我会使用一个用于解析 html 的库,就像这个问题中的那样:What are the pros and cons of the leading Java HTML parsers?例如,考虑一下 type 可以更改为位于标记的末尾而不是开头。 HTML 仍然有效,但您的 regex/indexof 现在将毫无用处。这些可能是您不想考虑的问题。

但如果您坚持的话,您可以使用 StringUtils.lastIndexOf

关于java - 如何使用indexOf打印出indexOf范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com