【发布时间】:2013-09-28 04:53:16
【问题描述】:
这是对 StackOverflow 中以下问题的扩展,因为我不理解接受的答案。
How do you determine the type of data contained in a string?
如果有人可以提供以下案例的示例代码:
我有一个字符串数组如下:
String[] myArray = new String[4];
myArray[0] = "one";
myArray[1] = "2012-02-25";
myArray[2] = "12345.58";
myArray[3] = "1245";
我想要的东西如下:
for(String s:myArray){
if(s is a number){
System.out.println("A number!");
}
else if(s is a float){
System.out.println("A float!");
}
else if(s is a date){
System.out.println("A date!");
}
else if(s is a text){
System.out.println("A text!");
}
}
但我不知道 IF 条件中会包含什么来确定给定字符串中的数据类型。
感谢阅读!
【问题讨论】:
-
你考虑过使用正则表达式吗?
-
@MichaelAquilina:我可以使用正则表达式处理文本和数字。但是日期呢?
-
@NikunjChauhan 如果您的所有日期都是固定格式(即 YYYY-MM-DD),那么您也可以使用正则表达式。否则,将格式化字符串转换为日期的标准方法适用,您需要捕获任何异常。
-
AnthonyGrist 和 newuser 的建议都是可行的解决方案 ;)