我需要的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 –