我需要的Java的replaceAll方法的算法,我希望寫這個方法只使用的charAt和長度methods.I嘗試,但我沒有做到這一點,請幫助我。對不起,我的英語不好。java替換方法的算法?
-4
A
回答
-1
你的問題不清楚。
我不知道你想要什麼。你想要的代碼替換串或從其他字符串的字符?這是你的簡單例子。
public static String replace(String source,char oldChar,char newChar){
char[] temp = source.toCharArray();
StringBuilder result = new StringBuilder();
for (char c : temp) {
if(c == oldChar){
result.append(newChar);
}else result.append(c);
}
return result.toString();
}
也許這是你需要的解決方案,但我不明白你的問題:/
public static String replaceStr(String source, String oldSR, String newSR) {
List<Integer> positions = findPosition(source, oldSR);
int lengthOldSr = oldSR.length();
for (Integer position : positions) {
StringBuilder result = new StringBuilder("");
int lengthSource = source.length();
for (int i = 0; i < lengthSource; i++) {
if (position == i) {
result.append(newSR);
i += lengthOldSr - 1;
} else {
result.append(source.charAt(i));
}
}
source = result.toString();
}
return source;
}
public static List<Integer> findPosition(String source, String oldSR) {
int lengthOld = oldSR.length();
int lengthSource = source.length();
List<Integer> positions = new ArrayList<>();
for (int i = 0; i < lengthSource; i++) {
int count = 0;
for (int j = 0; j < lengthOld; j++) {
if ((j + i < lengthSource) && source.charAt(j + i) == oldSR.charAt(j)) {
count++;
}
}
if (count == lengthOld) {
positions.add(i);
}
}
positions.sort(Comparator.reverseOrder());
return positions;
}
}
輸入:源TUYENDEV 123 TUYENDEV 123 STACKOVER,舊 ,新
OUTPUT:TUYENDEV 456 TUYENDEV 456 STACKOVER
+0
//感謝您的幫助。我的方法的工作原理如下,我只能使用的charAt和length.// 1)輸入第一個字符串:做而如果做,如果 2)輸入第二個字符串:做 3)輸入第三個字符串:對於 輸出:對同時如果爲if。 –
+0
我已經更新了我的答案,希望這個答案對您有所幫助。 –
相關問題
- 1. 無法用Java替換方法代替
- 2. 替換算法
- 3. Java中替換方法的說明
- 4. 在java中轉換的替代方法
- 5. Haskell中的替換算法
- 6. 替換非靜態方法java模擬
- 7. Java替換方法不適用於©
- 8. Java重複使用替換方法
- 9. char替換方法
- 10. 替換空方法
- 11. 緩存項替換算法
- 12. 頁面替換算法
- 13. 查找和替換算法
- 14. 高斯消元變換和征服算法的替代方法
- 15. Java方法撤消算法
- 16. Java替換所有添加替換字符串的方法,而不是替換
- 17. Java中的替代方法
- 18. 替換索引的方法
- 19. 替換方法的難度
- 20. 替換INVOKE的方法
- 21. Javascript替換方法,替換爲「$ 1」
- 22. Java的替代方法,用空字符替換
- 23. JPEG算法 - 用Hadamard變換替換DCT
- 24. Java中.indexOf方法的算法選擇
- 25. JavaScript替換方法無效。
- 26. 使用替換方法javascript
- 27. Jquery。錯誤方法替換
- 28. 替換爲Acrobat方法AFormAutLib.setButtonIcon
- 29. PHP標記替換方法
- 30. 重構Javascript替換方法
Java或JavaScript的? – hackerrdave
'我希望寫這個方法只使用的charAt和長度methods.' ... Java的'String.replaceAll'還支持正則表達式模式匹配,所以拋出一個正則表達式引擎到您所需要的錦囊。 –
爲Java –