当前位置: 首页 > 面试题库 >

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

寿浩言
2023-03-14
问题内容

我是否缺少某些东西,或者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,从背面开始使用可能会更快。我怀疑是用短字符串替换长字符串的情况-因此,当你开始时,任何替换都很少复制。无论如何,这应该给你一个起点。



 类似资料:
  • 问题内容: 可以说我有一串。如何编写将字符串转换为的方法?还是那里有可用的方法实现? 到目前为止我尝试过的 我正在用它来编写休眠标准。它适用于但不适用。Havent尝试了其他任何字符串。 问题答案: 您可以从0到提取子字符串形式。在此子字符串中,将所有替换为空字符串。之后,与subtring合并(从头到尾)。 就像是:

  • 我正在寻找在javascript或jquery中更改字符串中所有字符的最佳和最快的方法 例如: abcdefghijklmnopqrstuvwxyz==>aximi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fixi、fix 或 abcdefghijklmnopqrstuvwxyz==>å¡Á¡ãghïjklmñãqr§µvwx¡ãz ...。 输出

  • 问题描述 (Problem Description) 如何替换所有出现的字符串? 解决方案 (Solution) 下面的示例演示如何使用Matcher类的replaceAll()方法替换String中所有出现的String。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main {

  • 本文向大家介绍Java实现String与StringBuilder相互转换,包括了Java实现String与StringBuilder相互转换的使用技巧和注意事项,需要的朋友参考一下 String类型是Java中的一个类,它用来表示一组字符。 Java中的字符串是不可变的,一旦创建,就不能更改字符串的值。 由于字符串是不可变的,因此如果您尝试重新分配字符串的值。它的引用将指向新的String对象,

  • 问题内容: 我有这个字符串: 正在做: 似乎只删除了上面字符串中的第一个匹配项。 如何替换 所有 出现的内容? 问题答案: 注意:请勿在对性能有要求的代码中使用此代码。 作为简单文字字符串的正则表达式的替代方法,您可以使用 一般模式是 在某些情况下,它过去比使用和正则表达式要快,但是在现代浏览器中,情况似乎不再如此。 结论:如果您有性能至关重要的用例(例如,处理数百个字符串),请使用Regexp方

  • 问题内容: 我是第一次遇到,很惊讶,因为Java已经具有一个非常强大的类,可以追加。 为什么要上第二堂课? 在哪里可以了解更多信息? 问题答案: 不允许附加。你在上调用的每个方法都会创建一个新对象并返回它。这是因为String它是不可变的-无法更改其内部状态。 另一方面是可变的。调用时,它会更改内部char数组,而不是创建新的字符串对象。 因此,拥有: 而不是,这将创建500个新的字符串对象。 请