2014-12-23 69 views
1

用戶可以選擇適合自己的數據自己downloadpath,我想在「路徑」或「目錄」字符串被非法字符檢查(!@#$%^ & *等)和如果可能的話更換它們檢查字符串路徑非法字符

有人可以幫忙嗎? 預先感謝您。

public void onDownloadLocationChanged(final String newLocation) { 
    // 
    final String original = settings.getDownloadsLocation(); 
    // 
     if (!newLocation.equals(original)) { 
     // 
     if (new File (newLocation).isDirectory() && (new File(newLocation).exists())) { 
     // DoSomething 
    }} 
+0

你可以顯示你已經嘗試了什麼,沒有按預期工作嗎? – EWit

回答

0

您可以通過使用replaceAll字符串方法來實現此目的。例如,如果你想從你的字符串中刪除了「@」字符,你可以做到以下幾點:

original.replaceAll("[\\@]", "");

調用上面會用替換字符串中的所有「@」的出現次數的「」,這基本上意味着該字符被刪除。此外,你可以添加任何你想刪除的角色到上面的調用。如果你希望對每個不好的字符使用不同的替換,那麼你需要考慮多個replaceAll語句,但是如果你只是想從你的字符串中刪除非法字符,那麼這就是要走的路。

+0

@Willes, thx,所以對於多個非法字符,我需要幾個replaceAll命令? 更簡單的解決方案? – Bjorn

+0

不完全。如果您只是希望從字符串中刪除所有非法字符並將其替換爲「」,這實際上會刪除字符,那麼您可以用一個語句來完成。你可以通過簡單地調用下面刪除所有你在你的問題(@#$%^&*!)中提到的字符:'original.replaceAll( 「[!@#$%^&*]」, 「」) ;'。 – Willis

+0

@Willes Thx這就是我想知道的。 – Bjorn