获取特定字符串后的下一个字符串/字符串

时间:2017-02-16 08:21:03

标签: java string

我想在给定的字符串中获取下一个字符,因为每当重复该字时,字符串的下一个字符应该打印,让我们说多达6个字符来获取给定单词后面的所需字符串。

实施例。岩石

我试过这个,但没有得到所需的输出。

String example = "Hi man check rock,let's go on together to the sight of rock now Print upto 6 char";
        System.out.println(example.substring(example.indexOf("rock") + 5));

4 个答案:

答案 0 :(得分:3)

您可以使用子字符串选择开头和结尾。试试这个:

int stringindex = example.indexOf("rock");   //Save the index to a variable so you don't have to call the indexOf method twice. 
int stringlength = "rock".length();
example.substring(stringindex + stringlength, stringindex + stringlength + 5); //Select next 5 characters from the index of rock.

答案 1 :(得分:1)

解决方案:假设只打印字符而不打印字符,并将空格计为

字符串示例="嗨,男人检查摇滚,让我们一起去看看摇滚吧打印到6个字符&#34 ;;

Ans:System.out.println(Str.substring(Str.lastIndexOf(" rock")+" rock" .length(),Str.lastIndexOf("岩石&#34)+"岩石"。长度()+ 6));

输出:现在为P(总共六个字符,计算2个空格和4个字符)。

请告知我任何改进

更新

请查看以下代码: 代码最初捕获第一个索引并循环遍历其他出现的字符串,并在循环中构建结果字符串。

import java.io.*;
public class Test {

   public static void main(String args[]) {
      String Str = "Hi man check rock,let's go on together to the sight of rock now Print upto 6 char";
    String keyword = "rock";
    String result="";

    int index = Str.indexOf(keyword);
    while (index >=0){
        System.out.println("Index : "+index);
        result+=Str.substring(index+keyword.length(),index+keyword.length()+6);
        index = Str.indexOf(keyword, index+keyword.length())   ;
   }
   System.out.println(result);
   }
}

答案 2 :(得分:0)

String example = "Hi man check rock,let's go on together to the sight of rock now Print upto 6 char";
System.out.println(example.substring(example.indexOf("rock")+4, example.indexOf("rock") + 11));

答案 3 :(得分:0)

使用正则表达式获取特定字符串(例如:rock)之后的下一个字符串/单词

String stringToSearch = "Hi man check rock,let's go on together to the sight of rock now rock again Print upto 6 char";
Pattern p1 = Pattern.compile("rock[,\\s][\\w]+");
Matcher m = p1.matcher(stringToSearch);

Pattern p2 = Pattern.compile("[,\\s]");
while (m.find())
{
    String[] items = p2.split(m.group());
    if(items.length < 2 )
       break;
    System.out.println(items[1]);   
}

Otuput: 让 现在 再次