查找char索引,其中包含()找到的序列

时间:2014-03-23 02:35:26

标签: java string

    if(input.contains("Angle ")) {
        input.charAt(?);
    }

所以,基本上,在" Angle"?之后你怎么会直接找到char?用绝对简单的术语来说,你如何找到" Angle"被发现了?

4 个答案:

答案 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)。