Java 字符串替换方法在android studio中不起作用
我不太清楚为什么我的话不会在android studio中被取代Java 字符串替换方法在android studio中不起作用,java,android,string,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()); Butto
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/包装名称D/测试﹕ 从…起
2015年6月16日,星期二
您正在尝试替换From:但您只添加了From而没有:。您正在尝试替换From:但您只添加了From而没有:。在您输入的输入中,我看不到:,因此From:将不匹配。我建议使用更通用的模式:
replaceAll("From:?\\s+", "");
由于需要正则表达式,您可以要求可选:,后跟一个或多个空格。在您输入的输入中,我看不到:,因此From:将不匹配。我建议使用更通用的模式:
replaceAll("From:?\\s+", "");
由于使用正则表达式,您可以要求可选:,后跟一个或多个空格。在按钮文本中是no:。因此,您必须将botton的文本更改为:
beginDate.setText("From: " + dateFormat);
或者你的正则表达式
String beginD = beginDate.getText().toString().replace("From ", "");
在您的按钮中,文本为no:。因此,您必须将botton的文本更改为:
beginDate.setText("From: " + dateFormat);
或者你的正则表达式
String beginD = beginDate.getText().toString().replace("From ", "");
检查您的输出,它不包含发件人:它只包含发件人,不包含冒号。这可能会有所帮助。也不要在发件人之后提供空间:。尝试使用replaceFrom、.trim;检查您的输出,它不包含发件人:它只包含发件人,不包含冒号。这可能会有所帮助。也不要在发件人之后提供空间:。尝试使用replaceFrom、.trim;