替换字符串中的字符的有效方法(java)?
我正在编写一个小型JAVA程序,该程序:
- 将文本作为字符串
- 需要2个字符数组
我试图做的事情听起来像是“查找并替换”,但是并不相同,因此我认为清除它很重要。
无论如何,我想获取此文本,查找第一个数组中的任何字符是否与文本中的字符匹配,如果是,则将其替换为第二个字符数组中的匹配字符(根据索引)。
我将举一个例子来说明:假设我的文本(字符串)是:“ java很棒!”;我有2个数组(char []):“ absm”和“!@ * $”。
理想的结果是将“ a”更改为“!” ,“ b”到“ @”,依此类推..表示结果文本将是:
我考虑过循环文本,但后来发现效率不高。
(可以使用 / 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())
以上是 替换字符串中的字符的有效方法(java)? 的全部内容, 来源链接: utcz.com/qa/412826.html