工作在Android工作室我想改變「,」爲「。」。在PRICESTRING
的Android應用程序,但沒有對的replaceAll,上面寫着一個彈出窗口:「這個結果將被忽略」
String priceString = mPriceEditText.getText().toString().trim();
if(priceString.contains(",")){
priceString.replaceAll(",",".");
}
我怎麼能解決這個問題碼?
工作在Android工作室我想改變「,」爲「。」。在PRICESTRING
的Android應用程序,但沒有對的replaceAll,上面寫着一個彈出窗口:「這個結果將被忽略」
String priceString = mPriceEditText.getText().toString().trim();
if(priceString.contains(",")){
priceString.replaceAll(",",".");
}
我怎麼能解決這個問題碼?
字符串在Java中不可變,因此priceString.replaceAll(",",".")
不能更改priceString
。相反,它會返回一個您忽略的新字符串。
您需要返回的字符串分配到的東西,例如:
priceString = priceString.replaceAll(",",".");
String#replaceAll()需要一個正則表達式作爲第一個參數,因爲「」是元字符在正則表達式,所以你需要逃避它,或在字符類使用它
String priceString = mPriceEditText.getText().toString().trim();
priceString = priceString.replaceAll("[,]","."); // OR
priceString = priceString.replaceAll("\\,",".");
只是priceString.replace(",",".")
爲我工作
試試上面的代碼
String priceString = mPriceEditText.getText().toString().trim();
final String newPriceString;
if(priceString.contains(",")){
newPriceString = priceString.replaceAll(",",".");
}
你爲什麼逃避逗號(,)它不是一個正則表達式中的特殊。 – Henry
yup @Henry uu是正確的nilesh爲什麼寫前,寫\\? –
@ ND1010_ String#replaceAll()將正則表達式作爲第一個參數,因爲是正則表達式中的元字符,因此您需要將其轉義或在字符類中使用它 –