字符串替换aabbcc aaccbbaa
时间: 2023-10-20 10:27:02 浏览: 187
字符串替换
要实现字符串替换功能,可以编写一个静态方法replace,接收三个参数:原始字符串text,目标字符串target和替换字符串replace。方法内部可以使用循环遍历,将目标字符串target在原始字符串text中找到的所有位置替换为替换字符串replace。最后返回替换后的字符串。
示例代码如下:
```java
public static String replace(String text, String target, String replace) {
StringBuilder result = new StringBuilder();
int index = 0;
while (index < text.length()) {
int nextIndex = text.indexOf(target, index);
if (nextIndex == -1) {
result.append(text.substring(index));
break;
}
result.append(text.substring(index, nextIndex));
result.append(replace);
index = nextIndex + target.length();
}
return result.toString();
}
```
使用该方法,可以将字符串"aabbcc"中的"bb"替换为"aa",得到结果"aaccbbaa"。
注意:在实现替换功能时,不能使用String及StringBuffer等类的replace等现成的替换API方法。
另外,也可以使用replaceAll方法来实现字符串的替换功能。replaceAll方法接收两个参数:第一个参数是要替换的目标字符串,第二个参数可以是一个字符串或者一个函数。当第二个参数为字符串时,会将所有匹配的目标字符串替换为该字符串。当第二个参数为函数时,函数的返回值将替换掉第一个参数匹配的文本。例如,'aabbcc'.replaceAll('b', () => '_')将字符串中的"b"替换为"_",得到结果"aa__cc"。但是根据提供的要求,不能使用现成的替换API方法,因此不能使用replaceAll方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [字符串替换题目解法2(不能使用String及StringBuffer等类的replace等现成的替换API方法)](https://blog.csdn.net/csdn_lan/article/details/96915977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [字符串替换replace()](https://blog.csdn.net/qq_42928070/article/details/109362803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文