java截取两个字符中间的字符和后面的字符

String s="$88$1"; 我要分别将88 和1 提取出来 怎么做呢?这字符串里面数字不是固定的 有时候可能是$8$88 、$88$88. java 求解

java截取两个字符中间的字符和后面的字符示例如下:

package com.qiu.lin.he;

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

public class CeShi {

public static void main(String[] args) {

String str = "<p>sad2f</p>";//两个字符串中间
String regex = "<p>(.*)</p>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);//匹配类
while (matcher.find()) {
System.out.println(matcher.group(1));//打印中间字符
}
}
}

结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-16

你可以用字符串对象的split方法,但是推荐使用正则表达式:

        public static void main(String[] args) {

  String str1 = "$88$888";

  String str2 = "$88$1";

    Pattern p = Pattern.compile("\\d+");

    Matcher m = p.matcher(str1);

    Matcher m2 = p.matcher(str2);
 
    System.out.println("截取:"+str1);

  while(m.find()){

   System.out.println(m.group());

  }
  System.out.println("截取:"+str2);

  while(m2.find()){

   System.out.println(m2.group());
  }
 }

--希望能帮到你!!

本回答被提问者采纳
第2个回答  2014-07-16

用split方法就行了

    String[] sReturn= new String[];
    sReturn = s.split("$");
    //会把s以$为标记分开
    System.out.println(sReturn[0]);
    System.out.println(sReturn[1]);

第3个回答  2014-07-16
s.split(“$”)就可以了,返回值是数组
第4个回答  2014-07-16
String input="$88$1";
String regex="88";
Pattern p=Pattern.compile(regex);
Matcher m =p.matcher(input);
if(m.find()){
String resule=m.group();
System.out.println(resule);
}
相似回答