使用StringBuilder替换所有出现的String吗?

我是否缺少某些东西,或者StringBuilder是否缺少与普通String类相同的“用字符串B替换所有出现的字符串A”功能?StringBuilder的替换功能并不完全相同。有没有什么方法可以更有效地使用普通的String类生成多个String?

回答:

好了,你可以编写一个循环:

public static void replaceAll(StringBuilder builder, String from, String to)

{

int index = builder.indexOf(from);

while (index != -1)

{

builder.replace(index, index + from.length(), to);

index += to.length(); // Move to the end of the replacement

index = builder.indexOf(from, index);

}

}

请注意,在某些情况下lastIndexOf,从背面开始使用可能会更快。我怀疑是用短字符串替换长字符串的情况-因此,当你开始时,任何替换都很少复制。无论如何,这应该给你一个起点。

以上是 使用StringBuilder替换所有出现的String吗? 的全部内容, 来源链接: utcz.com/qa/426809.html

回到顶部