我想把字符串"test/"
和"/go"
组合成"test/go"
。
我该怎么做呢?
仅使用java.io.File
,最简单的方法是:
String combined_path = new File("test/", "/go").getPath();
FilenameUtils.normalize()
来自Apache Commons IO,可以实现你所需的功能。
例如:
FilenameUtils.normalize("foo/" + "/bar");
返回字符串"foo/bar"
将两个字符串连接起来,并用下面的方法将 //
替换为 /
"test//go".replace("//", "/")
test/go
String test = "test/";
String go = "/go";
String result = test + go.substring(1);
Iterable<String>
的项目使用一个char
连接在一起,在修剪所有以此字符开头和结尾的项目之后:public static String joinWithChar(final Iterable<String> items,
final char joinChar){
final CharMatcher joinCharMatcher = CharMatcher.is(joinChar);
return Joiner.on('/').join(
Iterables.transform(items, new Function<String, String>(){
@Override
public String apply(final String input){
return joinCharMatcher.trimFrom(input);
}
}));
}
用法:
System.out.println(joinWithChar(Arrays.asList("test/", "/go"), '/'));
输出:
test/go
这个解决方案
如果这是一个与文件名相关的问题,那么可以看一下apache-commons-io和它的FilenameUtils类。
final String test = "test/";
final String go ="/go";
System.out.println(FilenameUtils.normalize(test + go));
在Windows上的输出:
test\go
normalize方法可以为您提供更多帮助,例如在Windows系统上将“/”更改为“\”。
顺便恭喜您通过几乎只提问就获得了声望分数:-)
"test/" + "." + "/go"