2013-05-30 72 views
-5

我讓我的瀏覽文件的位置,距離withing系統,所以生成的字符串路徑是動態地盼着斜線替代反斜線「」「/」

String path = "C:\Documents and Settings\abcd\Desktop\d.txt"; 

我輸入來自瀏覽按鈕來,所以輸入文件路徑是動態的。 我需要將反斜槓'\'替換爲前斜槓'/',以便我可以在編碼中進一步使用該路徑。 我需要動態地做到這一點。任何人都可以告訴我如何。

我的期望的輸出是預先

C:/Documents and Settings/abcd/Desktop/d.txt 

感謝。

正確答案---

以下是對於上述問題的正確答案--- 字符串NEWPATH = path.replaceAll( 「\\」, 「/」);

+5

那你試試?你有什麼麻煩? – SLaks

+1

如果您正在動態獲取路徑,則不需要替換反斜槓。如果您的字符串是像您一樣的文字,則會產生編譯錯誤。 –

+1

如上所述,我正在動態獲取我的路徑,如果再次用於查找文件,則會產生錯誤。 – NewBee

回答

2

可以使用replaceAll在一個字符串替換字符串:

String path = "C:\Documents and Settings\abcd\Desktop\d.txt"; 
String goodPath = path.replaceAll("\\", "/"); 
1

第一條語句將沒有逃避反斜槓字符編譯。反斜槓字符用於表示控制字符或unicode字面的開始,因此必須轉義以表示文字值本身。

你可以做

String path = "C:\\Documents and Settings\\abcd\\Desktop\\d.txt"; 
String newPath = path.replace("\\", "/"); 
+0

忽略這是一個重複... s/replace/replaceAll/ –

+0

從[javadoc](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html)中獲取替換_返回一個新的字符串,由newChar替換**這個字符串中的所有**出現的舊字符串._ – Reimeus

+0

@BrianRoach:'replaceAll'採用正則表達式。 – SLaks