如何删除字符串中一个字符之后的所有字符?
我有一个包含日期的字符串,例如“01-01-2012”,然后是一个空格,然后是时间“01:01:01”。完整的字符串是:“01-01-2012 01:01:01”
我只想从这个字符串中提取日期,所以在最后我会有“01-01-2012”,但不知道如何做到这一点。
我有一个包含日期的字符串,例如“01-01-2012”,然后是一个空格,然后是时间“01:01:01”。完整的字符串是:“01-01-2012 01:01:01”
我只想从这个字符串中提取日期,所以在最后我会有“01-01-2012”,但不知道如何做到这一点。
四个选项(最后添加两个选项以使此答案包括其他人给出的选项):
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”,就好像它是一个有效的日期/时间吗?
String input = "01-01-2012 01:01:01";
String date = d.split(" ")[0];