java – 如何删除字符串中的一个字符后的所有字符?

我有一个包含日期的字符串,例如“01-01-2012”,然后是一个空格,然后是“01:01:01”.完整的字符串是:“01-01-2012 01:01:01”

我想只提取这个字符串的日期,所以最后我会有“01-01-2012”,但不知道如何做到这一点.

解决方法

四个选项(最后两个添加以使这一个答案包括其他人给出的选项):

>将整个事情解析为日期/时间,然后只是取得日期部分(Joda Time或SimpleDateFormat)
>使用indexOf查找第一个空格,并使用substring获取前导子字符串:

int spaceIndex = text.indexOf(" ");
if (spaceIndex != -1)
{
    text = text.substring(0,spaceIndex);
}

>相信它以指定的格式有效,第一个空格将始终为索引10:

text = text.substring(0,10);

>用空格拆分字符串,然后取第一个结果(对我来说似乎不必要的低效,但它会工作…)

text = text.split(" ")[0];

如果没有空间,你应该考虑你想要发生的事情.这是否意味着数据无效开始?你应该继续整个字符串吗?这将取决于你的情况.

我个人可能会选择第一个选项 – 你真的想解析“01-01-2012 wibble-wobble bad data”,就好像它是一个有效的日期/时间?

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...