簡體   English   中英

在不使用Java進行硬編碼的情況下,用另一個字符串替換特定位置的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM