所以我正在解析 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);
关于java - 如何使用 .substring 方法从索引开始并在其后获取 x 数字或字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677488/