字符串替换方法在android studio中不起作用

时间:2015-06-16 06:24:58

标签: java android string

我不太清楚为什么我的单词不会在android studio中被替换。

    private Calendar dateTime = Calendar.getInstance();
    private SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy, EEE");
    String dateFormat = dateFormatter.format(dateTime.getTime());
    Button beginDate = (Button) findViewById(R.id.startDate);
    beginDate.setText("From     " + dateFormat);

    // Other codes removed for simplicity

    String beginD = beginDate.getText().toString().replace("From:     ", "");
    Log.d("Test", beginD); 

记录结果如下:

  

06-16 14:14:01.957 23893-23893 / packagename D / Test:来自
  2015年6月16日,星期二

3 个答案:

答案 0 :(得分:7)

您尝试替换"From: ",但您只添加了"From "(没有:)。

答案 1 :(得分:2)

我在您输入的输入中没有看到:,因此From:无法匹配。我建议使用更通用的模式:

replaceAll("From:?\\s+", "");

由于replaceAll采用正则表达式,因此您可以请求可选的:,后跟一个或多个空格。

答案 2 :(得分:1)

在您的按钮文字中没有:。因此,您必须将botton的文本更改为:

beginDate.setText("From:     " + dateFormat);

或你的正则表达式

String beginD = beginDate.getText().toString().replace("From     ", "");