我试图在第三个斜杠后获取字符串。但我不知道该怎么做。我曾经使用过分裂,但这不是我想要的。
for(String obj2: listKey.getCommonPrefixes()){
Map<String, String> map = new HashMap<String, String>();
String[] id = obj2.split("/");
if (id.length > 3) {
String name = id[3];
map.put("id", name);
map.put("date", "null");
map.put("size", String.valueOf(obj2.length()));
keys.add(map);
}
}
id[3]
只给了我id[3]
但是我想要在第三次斜线之后的所有内容?我怎么能这样做?
答案 0 :(得分:8)
您可以替换
String[] id = obj2.split("/");
通过
String[] id = obj2.split("/", 4);
来自javadoc:
limit参数控制模式的应用次数,因此会影响结果数组的长度。如果限制n大于零,那么模式将最多应用n - 1次,数组的长度将不大于n,并且数组的最后一个条目将包含除最后一个匹配分隔符之外的所有输入。如果n是非正数,那么模式将被应用尽可能多的次数,并且数组可以具有任何长度。如果n为零,那么模式将被应用尽可能多次,数组可以具有任何长度,并且尾随空字符串将被丢弃。