2017-09-12 75 views
0

我正在寫一個函數來替換子字符串(什麼laguange沒有這個,grr),並且我在輸出中出現了一些奇怪的字符。我無法弄清楚爲什麼。DXL - 意想不到的字符輸出

string replaceSubstring(string input, string targetSubstring, string substitute, bool matchCase) 
{ 
    string result = input 
    Buffer b = create 
    b = input 
    int targetStartPos 
    int targetLength 

    while (findPlainText(result, targetSubstring, targetStartPos, targetLength, matchCase)) 
    { 
     string prefixStr = b[0:targetStartPos - 1] 
     string suffixStr = b[targetStartPos + targetLength:] 

     b = prefixStr substitute suffixStr 
     result = tempStringOf(b) 
    } 

    delete b 
    return result 
} 

當運行print replaceSubstring("Jake Lewis", "ake", "ack", false),我得到的�*��*�is輸出。這似乎是某種編碼問題,但我不清楚這是怎麼發生的,或者如何解決它。

+0

忘記了補充,但我顯然期待輸出「傑克劉易斯」 –

+0

不回答這個問題,但也許這有助於您錯過的下一個功能 - 已有實現可用,請參閱https:/ /www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014891187和http://www.capri-soft.de/blog/?p=832。 – Twonky

+0

哇,這些是救生員,謝謝 –

回答

1

嘗試使用stringOf()而不是tempStringOf()。您的處理沒問題,但刪除b後結果無效。

+0

很好,謝謝 –

相關問題