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

替换字符串中的字符的有效方法(java)?

东弘扬
2023-03-14
问题内容

我正在编写一个小型JAVA程序,该程序:

  • 将文本作为字符串
  • 需要2个字符数组

我试图做的事情听起来像是“查找并替换”,但是并不相同,因此我认为清除它很重要。

无论如何,我想获取此文本,查找第一个数组中的任何字符是否与文本中的字符匹配,如果是,则将其替换为第二个字符数组中的匹配字符(根据索引)。

我将举一个例子来说明:假设我的文本(字符串)是:“ java很棒!”;我有2个数组(char []):“ absm”和“!@ * $”。

理想的结果是将“ a”更改为“!” ,“ b”到“ @”,依此类推..表示结果文本将是:

“ java很棒!” 更改为->“ j @ v @ i * @ w * o $ e!”

最有效的方法是什么?为什么? 我考虑过循环文本,但后来发现效率不高。

(可以使用 StringBuilder / String类)


问题答案:
StringBuilder sb = new StringBuilder(text);
    for(int i = 0; i<text.length(); i ++)
    {
        for (int j = 0; j < firstCharArray.length;j++)
        {
            if (sb.charAt(i) == firstCharArray[j])
            {
                sb.setCharAt(i, secondCharArray[j]);
                break;
            }

        }
    }

这种方法是有效的,因为它使用StringBuilder来更改字符(如果使用字符串,则由于它们是不可变的,因此每次都必须创建一个新字符。)而且,它还可以最大限度地减少通过次数(1次通过文本字符串和n通过第一个数组,其中n
= text.length())



 类似资料:
  • 问题内容: 我有一个以字符串形式传递的句子,我正在对单词“ and”进行替换,我想用“”替换它。而且它不是用空格替换“和”一词。以下是我的逻辑示例。而当我调试此逻辑时,逻辑确实落入了句子。 这里有我想念的东西吗? 问题答案: 而当我调试此逻辑时,逻辑确实落入了句子。 是的,然后你放弃返回值。 Java中的字符串是不可变的-当你调用时,它不会更改现有字符串的内容-它会返回经过修改的新字符串。所以你要

  • 问题内容: 对于穷人在客户端上实现近似排序规则正确排序的实现,我需要一个JavaScript函数,该函数可以 有效地 替换字符串中的单个字符。 这就是我的意思(请注意,这适用于德语文本,其他语言则有不同的排序方式): 基本上,我需要将给定字符串的所有出现的“ä”替换为“ a”(依此类推)。这样,本机排序的结果将非常接近用户的期望(或数据库将返回的结果)。 其他语言也具有执行此操作的功能:Pytho

  • 我有一个作为字符串传入的句子,我正在对单词“and”进行替换,我想用“”替换它。它并没有用空白代替“和”。下面是我的逻辑示例。当我调试这个的时候,逻辑就落在句子里了。代替 这里有我遗漏的东西吗。

  • 问题内容: 我试图遍历一个字符数组,并将字符串中的该字符替换为另一个数组中的并行字符。 这是我得到的例子: 它总是输出相同的字符串,没有替换。 我也尝试使用: 和replaceAll方法。 有什么建议? 问题答案: 字符串在Java中是不可变的。不会 更改 您调用它的字符串-它会 返回 更改后的新字符串。所以你要: (对于要在其上“显示”更改的 所有 方法,这都是不变的,因此也是如此。)

  • 本文向大家介绍替换Java字符串中的子字符串,包括了替换Java字符串中的子字符串的使用技巧和注意事项,需要的朋友参考一下 假设以下是我们的字符串。 我们想将子字符串“ Dead”替换为“ Alive”。为此,让我们使用以下逻辑。在这里,我们使用了while循环,并在其中找到了要替换的子字符串的索引。这样,我们一个接一个地替换了整个子字符串。 以下是替换子字符串的完整示例。 示例 输出结果

  • 问题内容: 用JavaScript替换字符串中所有字符串/字符实例的最快方法是什么?A ,- 循环,正则表达式? 问题答案: 最简单的方法是使用带有flag 的正则表达式替换所有实例: 这将替换所有出现的与字符串中。如果只有一个字符串,则可以将其转换为RegExp对象,如下所示: