gpt4 book ai didi

java - 从字符串的一个实例打印到另一个实例

转载 作者:行者123 更新时间:2023-11-30 07:27:14 32 4
gpt4 key购买 nike

假设我有这个字符串:

[0 1 2]
[0 1 1]
[0 1 3]
[1 2 3]
[2 4 6]
[9 5 2]
[0 1 3]

我想打印从 [0 1 3 的一个实例到 [0 1 3] 的下一个实例的所有内容。在此示例中,我要打印:

[0 1 3]
[1 2 3]
[2 4 6]
[9 5 2]
[0 1 3]

我该如何在 Java 中做到这一点?换句话说,我问是否有一种方法可以使用 substring 以某种方式操纵它来打印它,或者我是否必须获取第一个实例的索引,继续删除,直到到达下一个一个?

最佳答案

您可以通过获取从 [0 1 3] 第一个索引开始到 [0 1 3] 第二个索引的子字符串来完成此操作。第二个索引是通过调用 indexOf(str, fromIndex) 找到的:这个方法开始从给定的索引开始查找,所以我们给它第一个找到的索引(移动以便它找不到已经找到的索引)。

以下代码将字符串存储在str中,并将查找到的序列存储在sequence中。检索第一个索引。如果找到,我们查找第二个索引,如果也找到了,我们就获取子字符串。在获取子字符串时,我们需要添加 sequence.length() 来考虑您要保留的最终序列。

public static void main(String[] args) {
String str = "[0 1 2]\n[0 1 1]\n[0 1 3]\n[1 2 3]\n[2 4 6]\n[9 5 2]\n[0 1 3]";
String sequence = "[0 1 3]";

int firstIndex = str.indexOf(sequence);
if (firstIndex >= 0) {
int secondIndex = str.indexOf(sequence, firstIndex + sequence.length());
if (secondIndex >= 0) {
String result = str.substring(firstIndex, secondIndex + sequence.length());
System.out.println(result);
}
}

}

打印

[0 1 3]
[1 2 3]
[2 4 6]
[9 5 2]
[0 1 3]

关于java - 从字符串的一个实例打印到另一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36658236/

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