這裏是我想在常規的事:如何找到文件路徑字符串的一部分?
def url = "\\data\\aaa\\Service\\111"
def d = url.find("\\data\\aaa\\Service")
但d
是null
,根據文件,這意味着它不能找到一個匹配。
我測試過沒有斜槓,它工作正常,所以我知道這個問題與斜線有關。
我該如何獲得groovy在\\data\\aaa\\Service\\111
中找到\\data\\aaa\\Service
?
編輯:
這是我的問題,並試圖到目前爲止解決這個問題:
url
進來爲/data/cpp/Service/111
folder.path
回報\data\cpp\Service\111\222
所以我試圖將url中的"/"
轉換爲"\"
這使得url = "\data\cpp\Service\111"
然後我需要從任何folder.path
回報
下面取出url
部分是這一努力的反映:
def getList(String url) {
def list = []
def dir = new File(url)
url= url.replaceAll("/", "\\\\")
def d = url.find("\\\\data\\\\aaa\\\\Service")
dir.eachDirRecurse
{ folder ->
list << folder.path.replaceAll(url,'')
}
return list
}
但沒有什麼是得到替換,因爲它無法找到url
在folder.path
之內。
而不是更改URL中的「/」斜槓我更改folder.path中的「\\」斜槓 然後,我從folder.path中刪除了與URL匹配的路徑。 DEF的GetFolder(字符串URL){ DEF列表= [] DEF DIR =新的文件(URL) dir.eachDirRecurse {文件夾 - > 列表<< folder.path.replaceAll( 「\\\\」 ,「/").replaceAll(url,'') } 返回列表 } 感謝您的幫助。 – RSM