如何替换android中的字符?

How To replace character in android?

我正在尝试替换“”所在的字符。它应该被替换为“”。但它不适合我。请有人告诉我我的代码中缺少什么吗?

       // that variable is define publically
        public class QuizActivity extends Activity {
        private static String ans = null;
        int j = 0;

     //here some functionality

   next.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View v) {
                                // TODO Auto-generated method stub
                                 empty();
                                 checkbox_enable();
                                 Custom_checkbox();

                                final int arraysize = data.size();

                                    j++;
                                if(j<arraysize){

                                     String Quiz_no = data.get(j).getQuiz_no();
                                     String Question = data.get(j).getQuestion();
                                     op1 = data.get(j).getAnswer_1().trim().toString();
                                     ans = data.get(j).getAns().trim();
                                     String answer=ans.toString();


                                     for (int k = 0; k < answer.length(); k++) {

                                        if (answer.charAt(k) == '.') {


                                            answer.replace(".", "");



                                        }if (answer.charAt(k) == ' ') {

                                            answer.replace(" ", "");
                                   String temp = answer;
                                Toast.makeText(QuizActivity.this, "replaced   "+temp,

 Toast.LENGTH_LONG).show();
                                        }
                                    }

请任何人帮助我。它对我不起作用

因为 replacereplaceAll 不会覆盖字符串。 你应该使用:

answer = answer.replaceAll(".", "");
answer = answer.replaceAll(" ", "");

只需在要替换的字符串上使用 replaceAll

例如

String test = "hello.say.something";
test.replaceAll(".","");
Toast.makeText(getApplicationContext(),test,Toast.LENGTH_SHORT).show();

Result : hellosaysomething

编码愉快..

你应该知道 Strings 是不可变的,所以你需要将 answer.replace(".", ""); 的输出存储在一些新变量或同一个变量中,所以这样做

 String replacedString = null;

 for (int k = 0; k < answer.length(); k++) {
    if (answer.charAt(k) == '.') {
        replacedString = answer.replace(".", "");

    }if (answer.charAt(k) == ' ') {
        replacedString  = answer.replace(" ", "");
    }
}

answer = answer.replace(".", "");

可能与 How to Replace dot (.) in a string in Java 重复。

因此,您可以简单地使用 .replaceAll,而不是遍历您的答案字符串并检查每个字符。所以把你的代码改成这样:

...
if(j<arraysize){
  String Quiz_no = data.get(j).getQuiz_no();
  String Question = data.get(j).getQuestion();
  op1 = data.get(j).getAnswer_1().trim().toString();
  ans = data.get(j).getAns().trim();
  String answer=ans.toString();
  //no need to loop through answer-string
  answer = answer.replaceAll(".","");
}

希望对您有所帮助。