我正在尝试解析项目中的给定路径或项目中的包,以便我可以从中构造一个有用的名称。
我一直在玩正则表达式,但我遇到了麻烦。
我想要的示例(supplied string
=> desired one
):
"C:/Users/IDPWorkspace/moneyTestProject/bin" => moneyTestProject
"C:/Users/IDPWorkspace/moneyTestProject/bin/moneyScenario" => moneyTestProject_moneyScenario
到目前为止我已经
了path.toString().substring(path.toString().indexOf("bin")+4)
.replace('/', '.').replace('\\', '.');`
这样可以很好地将所有东西都放到垃圾箱里,但不知道怎么做其他的东西......
答案 0 :(得分:1)
我没有可用的Java编译器,但你可以试试这个伪代码:
String[] delimiters = {"/", "\\"};
String[] tokens = path.Split(delimiters);
StringBuilder result = new StringBuilder();
for(int i = 0; i < tokens.Length; i++)
{
if(tokens[i].toLower().equals("bin") && (i > 0))
{
result.append(tokens[i-1]);
for(int j = i+1; j < tokens.Length; j++)
{
result.append("_" + tokens[j]);
}
break;
}
}
String finalPath = result.toString();
答案 1 :(得分:0)