修改上一个令牌并从新令牌加入字符串

时间:2017-03-10 18:24:15

标签: java

我有一个URL字符串(包括可选的斜杠,/在开头和/或结尾),例如

/level1/level2/level3

我需要使用某个新值重新编写最后一个标记并快速重新加入字符串,如下所示:

/level1/level2/level3[0]

Java Split的使用是必要的(而不是indexOf),因为在开始/结束时可选择允许斜杠,并且需要自动丢弃斜杠,而Split会这样做。

我有这个解决方案,但它看起来很难看;有更好的方法吗? (1)拆分,(2)将最后一个索引设置为新的String,(3)String.join:

// ItemPath is a String holding the original URL
String[] itemPathTokens = itemPath.split("/");
itemPathTokens[itemPathTokens.length-1] = new String(itemPathTokens[itemPathTokens.length-1] + "[" + newIndex + "]");
String itemPathNew = String.join("/", itemPathTokens);

1 个答案:

答案 0 :(得分:0)

你可以使用lastIndexOf并将其与长度进行比较,如果两者相同,则直接附加索引,否则在末尾附加斜杠+索引。