Java 如何从字符串中删除某些字符
我得到的日期格式如下:Java 如何从字符串中删除某些字符,java,Java,我得到的日期格式如下: 2011-05-23 6:05:00 如何从该字符串中仅获取2011-05-23?您只需获取第一个空格的索引并使用子字符串即可: int firstSpace = text.indexOf(' '); if (firstSpace != -1) { String truncated = text.substring(0, firstSpace); // Use the truncated version } 如果没有空间的话,你需要确定你想做什么 但是
2011-05-23 6:05:00
如何从该字符串中仅获取2011-05-23?您只需获取第一个空格的索引并使用子字符串即可:
int firstSpace = text.indexOf(' ');
if (firstSpace != -1)
{
String truncated = text.substring(0, firstSpace);
// Use the truncated version
}
如果没有空间的话,你需要确定你想做什么
但是,如果它是一个特定格式的有效日期/时间,并且您知道该格式,那么我将以该格式解析它,然后只使用日期组件。使只获取日期部分变得非常容易,并且是一个通常更好的API
编辑:如果您的意思是您已经有了一个Date
对象,并且您正试图以一种特定的方式对其进行格式化,那么SimpleDateFormat
是您在Java API中的朋友-但是,我再次建议您使用Joda Time及其DateTimeFormatter
类:
DateTimeFormatter formatter = ISODateTimeFormat.date();
String text = formatter.print(date);
标准方法是使用
您还可以使用String
操作完成它,如下所示
String result = str.substring(0,str.indexOf(" "));
使用:
此外:
一种无效但暴力的方法是
String s = "2011-05-23 6:05:00";
String t = s.substring(0,s.length-7);
或者不管是什么情况最简单的方法:
str = "2011-05-23 6:05:00"
str = str.substring(0,str.indexOf(" "));
String str=“2011-05-23 6:05:00”;
str=str.subString(0,10) 有很多答案,但到目前为止还没有人使用过regexp,所以我只能用regexp发布一个答案
String date = "2011-05-23 6:05:00";
System.out.println(date.replaceFirst("\\s.*", ""));
给你:
import java.*;
import java.util.*;
import java.text.*;
public class StringApp {
public static void main(String[] args)
{
String oldDate = "2011-05-23 6:05:00";
String dateFormat = "yyyy-MM-dd";
try {
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
Calendar cl = Calendar.getInstance();
cl.setTime(sdf.parse(oldDate));
String newDate = sdf.format(cl.getTime());
System.out.println(newDate);
}
catch (ParseException ex) {
}
}
}
你可以用-
String arg="2011-05-23 6:05:00";
String str=arg.substring(0,arg.indexOf(" "));
另一个答案是使用正则表达式
String dateTime = "2011-05-23 6:05:00";
String date = dateTime.split(" ")[0];
String dateTime = "2011-05-23 6:05:00";
String date = dateTime.split(" ")[0];