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获取,在其他类的语句中如何获取呢?
菜鸟提问,谢谢你的回答和管制。
12 个解决方案
#1
这个问题,是无解的。因为你问的要填写的那个地方的对象其实就是str.replaceAll("", "/")的结果,而你这儿的没有将这个对象给一个引用,而要去访问一个对象时要通过引用去的。这就好比一个人去问一个无名氏叫什么名字。
另外,估计你没有去验证,这里的this是不行的。
你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
另外,估计你没有去验证,这里的this是不行的。
你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
#2
str=str.replaceAll("", "/");
str=str.substring(1, str.length()-1;
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真是神人呀,实际开发中,不会用到你说的这种方法的。
str=str.substring(1, str.length()-1;
同意二楼! lz真是神人呀,实际开发中,不会用到你说的这种方法的。
#5
System.out.println(str.replaceAll("\B", "/"));
#6
少打个斜杠...没转义
System.out.println(str.replaceAll("\\B", "/"));
System.out.println(str.replaceAll("\\B", "/"));
#7
大神可以解释下吗?不理解啊,谢谢
#8
str=str.replaceAll("", "/");
System.out.println(str.substring(1, str.length()-1));
为什么不能这样写str.replaceAll("", "/").substring(1, str.length()-1)的原因, 你得去了解一下String 在内存的存储
System.out.println(str.substring(1, str.length()-1));
为什么不能这样写str.replaceAll("", "/").substring(1, str.length()-1)的原因, 你得去了解一下String 在内存的存储
#9
哇,csdn的朋友真热心, 我昨天也和同学讨论了一下这个问题, 要是不想得起名字的话, 就更复杂了。
另外请问,有没有把 abc 变成 a/b/c 的更简单的方法?
明天就可以结贴了。
另外请问,有没有把 abc 变成 a/b/c 的更简单的方法?
明天就可以结贴了。
#10
/B 匹配非首末的位置 正好适用这个 具体你可以百度一下
#11
+10086
#12
str.replaceAll("", "/").substring(1, str.length()-1)只是得到了另外一个String(a/b/c)对象的引用
#1
这个问题,是无解的。因为你问的要填写的那个地方的对象其实就是str.replaceAll("", "/")的结果,而你这儿的没有将这个对象给一个引用,而要去访问一个对象时要通过引用去的。这就好比一个人去问一个无名氏叫什么名字。
另外,估计你没有去验证,这里的this是不行的。
你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
另外,估计你没有去验证,这里的this是不行的。
你做2遍的那种方法,可以得到正确的结果,但是你要知道,那两个str.replaceAll("", "/")并不是指的一个对象哦
#2
str=str.replaceAll("", "/");
str=str.substring(1, str.length()-1;
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真是神人呀,实际开发中,不会用到你说的这种方法的。
str=str.substring(1, str.length()-1;
同意二楼! lz真是神人呀,实际开发中,不会用到你说的这种方法的。
#5
System.out.println(str.replaceAll("\B", "/"));
#6
少打个斜杠...没转义
System.out.println(str.replaceAll("\\B", "/"));
System.out.println(str.replaceAll("\\B", "/"));
#7
大神可以解释下吗?不理解啊,谢谢
#8
str=str.replaceAll("", "/");
System.out.println(str.substring(1, str.length()-1));
为什么不能这样写str.replaceAll("", "/").substring(1, str.length()-1)的原因, 你得去了解一下String 在内存的存储
System.out.println(str.substring(1, str.length()-1));
为什么不能这样写str.replaceAll("", "/").substring(1, str.length()-1)的原因, 你得去了解一下String 在内存的存储
#9
哇,csdn的朋友真热心, 我昨天也和同学讨论了一下这个问题, 要是不想得起名字的话, 就更复杂了。
另外请问,有没有把 abc 变成 a/b/c 的更简单的方法?
明天就可以结贴了。
另外请问,有没有把 abc 变成 a/b/c 的更简单的方法?
明天就可以结贴了。
#10
/B 匹配非首末的位置 正好适用这个 具体你可以百度一下
#11
+10086
#12
str.replaceAll("", "/").substring(1, str.length()-1)只是得到了另外一个String(a/b/c)对象的引用