我有一個非常簡單的問題,只是無法讓我的代碼在Java中工作。我想返回一個表示文件路徑的字符串,但是如果它存在,則會提取該路徑的某個部分。從字符串中刪除子字符串
所以,我的輸入可能是「c:/lotus/notes/data/directory/mydatabase.nsf」,我只想返回「directory/mydatabase.nsf」。有時,所提供的路徑已經省去了「c:/ lotus/notes/data /」,因爲它在服務器上而不是本地訪問。
public String getDataPath (String path) {
int pathStart;
boolean pathContains;
String lowerPath;
lowerPath = path.toLowerCase();
pathStart = lowerPath.indexOf("c:/lotus/notes/data");
if (pathStart >= 0) {
// 20 characters in "c:/lotus/notes/data/"
return path.substring(19);
}
pathContains = lowerPath.contains("lotus/notes/data");
if (pathContains) {
// 20 characters in "c:/lotus/notes/data/"
return path.substring(19);
}
return path;
}
這很簡單,但不知何故,我不明白。我的兩個人都沒有評價過。
我的問題原來是反斜槓「\」。所以,我需要使用path.replace(「c:\\ lotus \\ notes \\ data \\」,「」);但重要的是我的多行笨重的代碼,也沒有工作縮短到一行。 –