java 如何获取两个字符串之间的汉字

String str = "321AAawdawdawd萨芬AAkjjkjBB"
获取AA和BB之间的字符串(包含汉字)

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test3 {
public static void main(String[] args) {
String str = "321AAawdawdawd萨芬AAkjjkjBB";
String regex = "AA(.*)BB";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
}
}

这个是通过正则表达式获取符合规则的字符串的通用方法。如果有多个符合规则的,可以把输出语句换成集合添加元素。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-11
用string中split方法截取字符串,返回字符串数组就可以了,用正则表达式很简单的追问

可以给个例子不?

追答

string a="youname123 isAlice25andyou";string〔〕st=a.Split("\\〔0-9〕")那么字符串数组中就存有了除了数字以外的字符串。你可以这样举一反三

第2个回答  2014-03-11
     public static void main(String[] args) {
      String str = "321AAawdawdawd萨芬AAkjjkjBB";
      Pattern p = Pattern.compile(".{3}AA(.*)BB");
      Matcher m = p.matcher(str);
      System.out.println(m.matches());
      System.out.println(m.group(1));
     }

第3个回答  2014-03-11
str.replaceAll("AA(.*)BB","$1")追问

怎么我截取后是这样子的:321AawdawdAAawd萨芬AAkjjkj