获取java中两个chracters之间的子串的所有出现

时间:2016-08-12 12:11:35

标签: java string substring

我有像这样的String Path

 "/Math/Math1/Algerbra/node"

我怎样才能得到“/”和“/”之间所有子串的出现(Math-Math1-Algerbra)

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以使用“a / b”.split(“/”)来接收包含“a”和“b”的数组。

你必须要注意,因为你的第一个角色也是分隔符。另外:不要以为你知道返回数组的大小;通常情况下,人们会遇到错误并遇到ArrayIndexOutOfBounds异常,因为他们在访问数组元素之前不必费心去检查result.length。

答案 1 :(得分:2)

我想你需要路径中的前3个目录。您可以拆分分隔符"/"并从结果中构建新字符串。如果路径中没有足够的目录,显然你必须注意。

    String s = "/Math/Math1/Algerbra/node";
    String aux[] = s.split("/");

    System.out.println(aux[1]+"-"+aux[2]+"-"+aux[3]);

刚刚找到了更好的东西来加入字符串(java 1.8):

    String.join("-", aux[1], aux[2], aux[3]);