if(input.contains("Angle ")) {
input.charAt(?);
}
所以,基本上,在" Angle"?之后你怎么会直接找到char?用绝对简单的术语来说,你如何找到" Angle"被发现了?
答案 0 :(得分:3)
您可以使用indexOf
方法找出输入包含字符串,以及索引的位置:
int pos = input.indexOf("Angle ");
if (pos >= 0) {
... // Substring is found at index pos
}
答案 1 :(得分:1)
您是否尝试过indexOf()方法?
来自java doc ...
返回第一次出现的字符串中的索引 指定的子字符串。返回的整数是最小值k that:this.startsWith(str,k)为真。
然后,因为您知道字符串的长度,您可以将其添加到输入中,以便在" Angle"之后直接找到char。
答案 2 :(得分:0)
要查找" Angle"后面的单词,您可以使用正则表达式:
String next = str.replaceAll(".*Angle (\\w+).*", "$1");
然后你不必厌倦索引,迭代和大量代码。
答案 3 :(得分:0)
作为others have stated,您可以使用indexOf
来查找子字符串的位置。如果您有多个子字符串,并且想要查找所有子字符串,则可以使用the version of indexOf
that takes a starting position在当前事件发生后继续搜索,例如:在needle
中找到haystack
的所有匹配项:
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
相同(实际上就是precisely how contains()
is implemented)。