如何替换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();
}
}
请任何人帮助我。它对我不起作用
因为 replace
或 replaceAll
不会覆盖字符串。
你应该使用:
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(".","");
}
希望对您有所帮助。
我正在尝试替换“”所在的字符。它应该被替换为“”。但它不适合我。请有人告诉我我的代码中缺少什么吗?
// 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();
}
}
请任何人帮助我。它对我不起作用
因为 replace
或 replaceAll
不会覆盖字符串。
你应该使用:
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(".","");
}
希望对您有所帮助。