java - 如何使用 .substring 方法从索引开始并在其后获取 x 数字或字符?

标签 java substring

所以我正在解析 html,我正在尝试创建一个从某个位置开始的子字符串,然后停止 941 个字符。 Java 中的 .substring 方法的工作方式是你必须给它一个开始位置和一个结束位置,但结束位置需要是开始后原始字符串上的一个位置。

String html = "This is a test string for example";
html.substring(html.indexOf("test"), 6);

这是我希望代码如何工作的示例,它会生成一个从测试开始的子字符串,并在返回“测试字符串”的 7 个字符后停止。但是,如果我使用此代码,则会出现 indexOutOfBounds 异常,因为 6 在测试之前。工作代码如下

String html = "This is a test string for example";
html.substring(html.indexOf("test"), 22);

这将返回“测试字符串”。但我不知道最后一个数字是多少,因为 html 总是在变化。所以问题是我必须做什么才能开始一个特定的位置并在它之后结束 x 数量的字符?任何帮助将非常感激!谢谢!

最佳答案

由于第二个参数是一个索引,而不是长度,所以你需要存储初始位置,并将长度添加到它,如下所示:

String html = "This is a test string for example";
int pos = html.indexOf("test");
String res = html.substring(pos, pos+11);

Demo.

关于java - 如何使用 .substring 方法从索引开始并在其后获取 x 数字或字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677488/

相关文章:

java - java.sql.Date 如何处理负日期?

c++ - 如何通过以特定字符结尾来控制子字符串的长度?

MySQL:CONCAT/SUBSTRING:这不起作用,因为我使用的是 int 变量吗?

java - 为什么 ModelDriven 在 Struts 2 中停止工作

Java:在保存游戏时更改 JPanel

c++ - 如何有效地找到具有相同第一个和最后一个字符的字符串中的子字符串数?

windows - 批处理文件 : Is it possible to extract a substring where the index is a variable?

ios - 从给定索引处的 NSString 中提取单词子串

java - 为什么 ZipInputStream 无法读取 ZipOutputStream 的输出?

java - 添加@Named 时@SessionScoped 不起作用