if(input.contains("Angle ")) {
input.charAt(?);
}
基本上,你如何找到“Angle”后面的字符?用最简单的方式描述,你如何找到发现“Angle”的索引?
indexOf
方法来查找输入字符串是否包含该字符串,以及其索引位置:int pos = input.indexOf("Angle ");
if (pos >= 0) {
... // Substring is found at index pos
}
你尝试过indexOf()方法吗?
从Java文档中得知...
返回此字符串中指定子字符串第一次出现的索引。返回的整数是最小值k,使得:this.startsWith(str, k)为true。
因此,由于您知道字符串的长度,您可以将其添加到输入中,以查找“Angle”后面的字符。
indexOf()
的返回值;盲目地将"Angle ".length()
加上-1
可能会导致错误的结果。 - Jason CString next = str.replaceAll(".*Angle (\\w+).*", "$1");
那么你就不必通过索引、迭代和大量的代码来弄脏自己了。
正如其他人所说的那样, 您可以使用indexOf
来查找子字符串的位置。如果您有多个子字符串出现并且想要找到它们所有的位置,您可以使用带有起始位置参数的indexOf
版本在当前出现后继续搜索,例如在haystack
中查找所有needle
的出现:
int index = 0;
while ((index = haystack.indexOf(needle, index)) != -1) {
System.out.println("Found substring at " + index);
index += needle.length();
}
.contains(needle)
本质上与 .indexOf(needle) > -1
是相同的(事实上,这正是 contains()
的实现方式)。