比如一个字符串"sjkjlfdks你好as!kj556asd<hjkd>x"我要提取里面的"你好"和"556"

解决方案 »

  1.   

    用正则表达式,汉字的utf-8的码在一个范围内,什么\uxxxx
      

  2.   

    Pattern pcn=Pattern.compile("[\u4e00-\u9fa5]+");
    Pattern pd = Pattern.compile("\\d+");
    String str="sjkjlfdks你好as!kj556asd<hjkd>x";
    Matcher m = pcn.matcher(str);
    if(m.find()){
    System.out.println("中文:"+m.group());
    }

    m = pd.matcher(str);
    if(m.find()){
    System.out.println("数字:"+m.group());
    }
      

  3.   

    String str="sjkjlfdks你好as!kj556asd<hjkd>x";//要被查找的字符串
    String str1="你好";//你要提取的字符串
    StringBuffer sb =new StringBuffer();int c= str.indexOf(str1);
    System.out.println(str.substring(c, str1.length()));
    for(int i=0 ;i<str.length();i++){
             char ch=str.charAt(i);
    for(int m=0;m<10;m++){
         String str1=String.valueOf(m);
         if(str1.equals(String.valueOf(ch))) sb.append(ch);
    }
    }
    System.out.println(sb);
    要是字符串中有多个数字字符串像"1111你好1111"
    区分开来输出的话,就在加if判断。不知道这个对你有没有帮助!
      

  4.   

    我那个字符串只是打个比方,4楼的方法是知道内容的前提了请问
    Pattern pcn=Pattern.compile("[\u4e00-\u9fa5]+");
    Pattern pd = Pattern.compile("\\d+");
    是什么意思啊?
    ("[\u4e00-\u9fa5]+");和("\\d+");
      

  5.   

    请问
    Pattern pcn=Pattern.compile("[\u4e00-\u9fa5]+");
    Pattern pd = Pattern.compile("\\d+");
    是什么意思啊?
    同问