[英]Replace a string at particular position with another string without hardcoding in java
我正在從文件的特定位置讀取字符串,我需要通過調用函數進行一些轉換,並且必須在相同位置替換結果字符串。 下面的代碼拋出非法重復錯誤,因為我的字符串包含諸如'}','{'之類的字符。 我不知道在沒有經過硬編碼的情況下如何轉義這些字符。 請幫忙。
String MFstr = strLine.substring(612,623);
StringBuilder sbMFstr=new StringBuilder (strLine.substring(612,623));
String temp="";
if (mfn.isNegativeMFOrNegativeOverPunch(MFstr)){
temp = "-"+MFstr;}
else{
temp=MFstr;}
String number=mfn.MForOverPunchToNumber(MFstr);
if( temp.startsWith("-")){
//Positive is false
number = "0" + number;
}
strLine.replaceAll(MFstr, number); //This line throws Exception
replaceAll
的第一個參數是一個正則表達式。 {
和}
是正則表達式中的出現字符。 你可以做
strLine = strLine.replaceAll(Pattern.quote(mfStr), number);
或簡單地
strLine = strLine.replace(mfStr, number);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.