Java 从字符串的一个实例打印到另一个实例
假设我有这个字符串:Java 从字符串的一个实例打印到另一个实例,java,string,Java,String,假设我有这个字符串: [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中我该怎么做呢?我想问的是,有没有一种方法可以使用子字符串以某种方式操纵它来打印此文件,或者我必须获取第一个实例的索引,继续删除,直到到达下一个实例?您可以通过从[0 1 3]的
[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中我该怎么做呢?我想问的是,有没有一种方法可以使用
子字符串以某种方式操纵它来打印此文件,或者我必须获取第一个实例的索引,继续删除,直到到达下一个实例?您可以通过从[0 1 3]的第一个索引开始获取子字符串来完成此操作
到[0 1 3]
的第二个索引。第二个索引是通过调用找到的:此方法开始从给定的索引开始查找,因此我们给它第一个找到的索引(移动以便它找不到已找到的索引)
下面的代码将字符串存储在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]
这是一个有多行的字符串?只需打印出两行之间的子字符串,就像你在问题中所说的…是的,这是一个有多行的字符串。我如何打印出两行之间的子字符串?indexof只会返回第一次出现的结果,对吗?啊,这很好。非常感谢!