public class Question {
public static void main(String[] args) {
String str = "abc";
//str.replaceAll("", "/") 的结果是 /a/b/c/
//我需要的是a/b/c
//不想为这个临时字符串起名字
//如
//tmpstr = str.replaceAll("","/");
//System.out.println(tmpstr.substring(1,tmpstr.length()));//也不想做2遍替换
//如
// System.out.println(str.replaceAll("", "/").substring(1,str.replaceAll("", "/").length()-1));//我想用一行java语句完成从abc 到 a/b/c的过程
System.out.println(str.replaceAll("", "/").substring(1, 【这里填什么】.length()-1));

}
}
其实也就是在一个方法中如何获取调用此方法的对象
当然在本类中, 可以用this获取,在其他类的语句中如何获取呢?菜鸟提问,谢谢你的回答和管制。

解决方案 »

  1.   

    这个问题,是无解的。因为你问的要填写的那个地方的对象其实就是str.replaceAll("", "/")的结果,而你这儿的没有将这个对象给一个引用,而要去访问一个对象时要通过引用去的。这就好比一个人去问一个无名氏叫什么名字。另外,估计你没有去验证,这里的this是不行的。
    你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
      

  2.   

    str=str.replaceAll("", "/");
    str=str.substring(1, str.length()-1;
      

  3.   

      System.out.println(str.replaceAll("", "/").substring(1));
    就你的程序,这个可以满足要求
      

  4.   

    str=str.replaceAll("", "/");
    str=str.substring(1, str.length()-1;
    同意二楼!  lz真是神人呀,实际开发中,不会用到你说的这种方法的。
      

  5.   

       System.out.println(str.replaceAll("\B", "/"));
      

  6.   

    少打个斜杠...没转义 System.out.println(str.replaceAll("\\B", "/"));
      

  7.   

    str=str.replaceAll("", "/");
    System.out.println(str.substring(1, str.length()-1));
    为什么不能这样写str.replaceAll("", "/").substring(1, str.length()-1)的原因, 你得去了解一下String 在内存的存储
      

  8.   

    哇,csdn的朋友真热心, 我昨天也和同学讨论了一下这个问题, 要是不想得起名字的话, 就更复杂了。另外请问,有没有把 abc 变成 a/b/c 的更简单的方法?明天就可以结贴了。
      

  9.   

    str.replaceAll("", "/").substring(1, str.length()-1)只是得到了另外一个String(a/b/c)对象的引用