2014-01-27 158 views
2

我想從我的原始路徑刪除一些字符串,但我不能從我原始的字符串替換另一個字符串
如何從另一個字符串替換字符串?

這是我的代碼

String path="contentPath =C/Users/consultant.swapnilb/Desktop/swapnil=Z:/Build6.0/Digischool/"; 
String a=path.substring(path.lastIndexOf("="), path.length()); 
path.replace(a, ""); 
System.out.println("a---"+a); 
System.out.println("path---"+path); 

我只是想從刪除=Z:/Build6.0/Digischool/我原始路徑。

回答

4

首先,因爲String s爲在Java中不可變的,你必須重新分配在String變化到另一個參考:

path = path.replace(a, ""); 

其次,你在那裏做額外的工作。您可以替換這些行:

String a=path.substring(path.lastIndexOf("="), path.length()); 
path.replace(a, ""); 

有:

path = path.substring(0, path.lastIndexOf("=")); 
5

String#replace

public String replace(CharSequence target, CharSequence replacement) 
     ↑ 

返回String類型的新對象,應先分配結果:

path = path.replace(a, ""); 

然而,你可以簡單地做:

path = path.substring(0, path.lastIndexOf("=")); 
4

什麼所有你需要做的是

String a=path.substring(0, path.lastIndexOf("=")); 
0

String是一個不可變類(由於安全原因)一旦被初始化,你不能任何其他值分配給它。 您必須將子字符串分配給其他字符串對象,然後進行訪問。只需更改您的代碼,如下所示,它將起作用。

String path="contentPath =C/Users/consultant.swapnilb/Desktop/swapnil=Z:/Build6.0/Digischool/"; 
String a=path.substring(path.lastIndexOf("="), path.length()); 
    String b = path.replace(a, ""); 
    System.out.println("a---"+a); 
    System.out.println("path---"+path); 
    System.out.println(b); 
相關問題