如何从java中的字符串中删除多个字符?

时间:2017-08-28 06:17:10

标签: java string stringbuilder

如何从字符串中删除索引中的多个字符。我想过使用StringBuilder的deleteCharAt函数。但是,如果我逐个删除char,我将不会跟踪正确的索引。 例如:

String test = "0123456789"
int[] removingIndice  = int[] {2, 4, 0};
// remove character from string
// result = "1356789"

3 个答案:

答案 0 :(得分:2)

创建一个新的字符串构建器, 迭代字符串,如果其索引不在数组

中,则向构建器添加元素
StringBuilder sb = new StringBuilder("");
for(int i = 0; i< test.length; i++){
    if( !ArrayUtils.contains(removingIndice, i))
    {
        sb.append(test.charAt(i));
    }
}
test = sb.toString();

答案 1 :(得分:-1)

String在Java中是不可变的,因此您需要创建一个新的String,其中删除了位置0,2,4处的字符。作为一种选择,您可以使用StringBuilder,如下所示:How to remove single character from a String

答案 2 :(得分:-2)

  1. 我想,您需要重新设计任务: &#34;新字符串必须包含除...&#34;
  2. 之外的所有字符
  3. 现在,似乎弱的初始数据结构和目标。