最大正向匹配(字符串处理,java-String)

给定2个短字符串str1,str2,在一个长字符串中找出以str1开头并且以str2结尾的最长字符串。

输入第1行为str1, 表是开头字符串
第2行为str2, 表示结尾字符串
第3行为一个整数,表示接下来将要输入的数据行数n
第4行以下为输入字符串
所有字符串小于1024长输出n行, 输出找到的字长字串,包括首尾样例输入

ab
ba
3
aab11234ab56ba789baba
abababa
adsjjafshabbajafkalf

样例输出

ab11234ab56ba789baba
abababa
abba

提示可以利用指针和字符串处理函数(算法)解题

 

import java.util.Scanner;
public class Main{
  public static void main(String[] args) {
    Scanner cin=new Scanner(System.in);
    String str1=cin.next(),str2=cin.next();
    int n=cin.nextInt();
    cin.nextLine();
    while(n--!=0) {
      String start=cin.nextLine();
      System.out.println(start.substring(start.indexOf(str1), start.lastIndexOf(str2)+str2.length()));
    }
  }
}

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

19 + 19 =