正则表达式import java.util.regex.*;public class Test { public static void main(String[] args){ String str = "string1今天string2明天string3今天string4明天string5"; Pattern ptn = Pattern.compile("今天.*?明天"); Matcher mcr = ptn.matcher(str); while (mcr.find()) //用find()找看看是不是有符合表达试的,如果有就用group()方法输出满足条件的内容 { System.out.println(mcr.group()); } } }
方法有很多,不一定要用正则: public static void main(String[] args) { String s = "string1今天string2明天string3"; int startIndex=s.indexOf("今天"); int endIndex=s.lastIndexOf("明天")+2; s=s.substring(startIndex, endIndex); System.out.println(s); }
"string1今天string2明天string3今天string4明天string5"
regex: "今天.*明天" "今天string2明天string3今天string4明天"
regex: "今天.*?明天" "今天string2明天" & "今天string4明天"
public class StringTest
{
public static void main(String[] args)
{
String string1 = "aaaa";
String string2="bbbb";
String string3 = "cccc";
String str = string1 + "今天" + string2 + "明天" + string3;
int begin = str.indexOf("今天");
int end = str.indexOf("明天") + "明天".length();
String expectStr = str.substring(begin, end);
System.out.println(expectStr);
}
}
看是否符合lz的要求。
先split(string1)得到今天string2明天string3然后split(string3)得到今天string2明天
String string1 = s.substring(0, s.indexOf("今"));
String string3 = s.substring(s.lastIndexOf("天")+1, s.length()); s = s.split(string1)[1];
s = s.split(string3)[0];
System.out.println(s);
public class StringTest
{
public static void main(String[] args)
{
String string1 = "aaaa";
String string2="bbbb";
String string3 = "cccc";
String str = string1 + "今天" + string2 + "明天" + string3;
int begin = str.indexOf(string1)+string1.length();
int end = str.indexOf(string3);
String expectStr = str.substring(begin, end);
System.out.println(expectStr);
}
}
String str = "string1今天string2明天string3今天string4明天string5";
Pattern ptn = Pattern.compile("今天.*?明天");
Matcher mcr = ptn.matcher(str); while (mcr.find()) //用find()找看看是不是有符合表达试的,如果有就用group()方法输出满足条件的内容
{
System.out.println(mcr.group());
}
}
}
public static void main(String[] args) { String s = "string1今天string2明天string3"; int startIndex=s.indexOf("今天");
int endIndex=s.lastIndexOf("明天")+2;
s=s.substring(startIndex, endIndex);
System.out.println(s); }