Character ArrayList,仅替换字符

时间:2014-07-13 16:30:02

标签: java arraylist replace character

我在我的程序中创建了一个数组列表,我希望能够更改。为了做到这一点,我尝试使用ArrayListName.set(i,'!'),但问题是我希望它只替换字符和非空格。

我怎样才能做到这一点?谢谢!

import java.util.ArrayList;

public class Test {

public static void main(String[] args){

    String words = new String("HELLO GOODBYE!");
    ArrayList<Character> sample = new ArrayList<Character>();

    for(int i = 0; i < words.length(); i++)
        sample.add(words.charAt(i));

    for(int i = 0; i < sample.size(); i++)
        sample.set(i,'!');

}

示例输出(我想)将改为: 你好再见! 至: !!!!! !!!!!!!!

3 个答案:

答案 0 :(得分:1)

来自String类的Java API:

在你的循环中:

if (charAt(i) != ' ' //space)) {
 sample.set(i,'!');
}

有关详细信息,请阅读String

的Java API

答案 1 :(得分:1)

你可以做很多事情,最简单的学习方法是使用if语句来检查空格。

   for(int i = 0; i<sample.size();i++){
       if(!Character.isWhitespace(sample.get(i)) {
           sample.set(i,'!');
       }
   }

答案 2 :(得分:1)

最好使用REGEX和String方法replaceALL

String helloWorld = "HELLO WORLD!";
String newVal = helloWorld.replaceAll("\\S", "!");

此REGEX替换所有非空白字符。