我有以下字符串文本:如何從一個字符串去掉一段文字
/Return/ReturnData/IRS1040/DependentWorksheetPP[1]/DependentCodePP
我想脫光[1]
指數,所以我只是有:
/Return/ReturnData/IRS1040/DependentWorksheetPP/DependentCodePP
我該如何在Java中完成這項工作?
string.replaceAll("[?]","");
這似乎並沒有工作。
任何幫助或信息,將不勝感激
我有以下字符串文本:如何從一個字符串去掉一段文字
/Return/ReturnData/IRS1040/DependentWorksheetPP[1]/DependentCodePP
我想脫光[1]
指數,所以我只是有:
/Return/ReturnData/IRS1040/DependentWorksheetPP/DependentCodePP
我該如何在Java中完成這項工作?
string.replaceAll("[?]","");
這似乎並沒有工作。
任何幫助或信息,將不勝感激
首先,在Java中,String
是不可變的(所以一定要分配replaceAll
的結果)。接下來,[
和]
在正則表達式中是有意義的(轉義它們)。而\\d+
是一個或多個數字。喜歡的東西,
String str = "/Return/ReturnData/IRS1040/DependentWorksheetPP[1]/"
+ "DependentCodePP";
str = str.replaceAll("\\[\\d+\\]", "");
System.out.println(str);
輸出是
/Return/ReturnData/IRS1040/DependentWorksheetPP/DependentCodePP
string.replaceAll("\\[.*?\\]","");
你需要逃避[]
,因爲它們在正則表達式的特殊字符。
字符串是不可變Java中, '的replaceAll' 將返回具有更換一個新的字符串。請參閱[String.replaceAll](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String))。可能的重複:http://stackoverflow.com/questions/10951333/why-isnt-the-string-value-changed-after-string-replace-in-java。這是你遇到的問題嗎? – Xiao
用空字符串替換'\ [\ d + \]' – Tushar