有两个字符串String pre="pre-"
String target = "pre-home";
我想得到“home”,就是进行String result = target-pre的这种操作该如何进行?pre是从文件中读取的,不能确定,所以subString的方式是不好使的

解决方案 »

  1.   

    简单的做,这样就可以。String target = "pre-home";
    String pre = "pre-";
    String result = target.replaceAll(pre, "");
    System.out.println(result);
      

  2.   

    target-   前面这一截都是一样的么。如果一样的直接截取后面的就行了。
      

  3.   


            String pre = "pre-";
    String targer = "pre-home";
    if (targer.contains(pre)) {
    targer=targer.replaceAll(pre, "");
    }
      

  4.   


    public static String rightStr(String str, int len){        if((str == null) || (str.length() <= len)){
                return str;
            }        return str.substring(str.length() - len);
    }
      

  5.   

    很多方法截取啊
         假如你那个String pre="pre-"是KEY;String target = "pre-home"是集合;要去里面的value;
         可以这样截取:(直接得到后面的值)
              String[] values=target.split("pre-");
             System.out.println(values[0]);
          相对来说,如果很多target,也很多pre的话;(获取对应的KEY与VALUE)
               String[] values=target.split("-");
              此时的valuest里面有两个元素,第一个元数是key,第二个元素是value;
              这样你可以跟据key得到元素;
               System.out.println("key:"+values[0]+"value:"+value[1];   不知道这个思路是否可以帮你解决以上问题!
      

  6.   

    return tartget.replaceFirst(pre, "");
      

  7.   

    字符串的问题都可以考虑一下正则String pre = "pre-";
    String target = "pre-home";
    String content = target;
    String pattern = "(" + pre + ")(.*)";
    Matcher matcher = Pattern.compile(pattern).matcher(content);
    if (matcher.matches()) {
      System.out.println(matcher.group(2));
    } else {
      System.out.println("not match!");
    }
      

  8.   


    这个不行吧,要是"pre-"后面里也含有"pre-"不就悲剧了吗
      

  9.   

    不用正则可以这样String pre = "pre-";
    String target = "pre-home";
    if(target.startsWith(pre)){
      target=target.substring(4);
    }
      

  10.   


    target.replaceFirst(pre, "");