我尝试了这段代码并获得例外,任何人都可以提供帮助。传递给函数的值是“12”,即便如此,我得到例外。我试过/没有装饰等,
公共类TestClass {
public static void main(String[] args) {
try{
// TODO Auto-generated method stub
String line = "12-10-1984";
String [] temp = line.split("-");
String t1 = temp[0].trim();
Integer.parseInt(t1);
}catch (Exception e){
//e.printStackTrace();
System.out.println(e.getMessage());
}
}
}
答案 0 :(得分:1)
您可以尝试过滤这样的字符串......
String[] temp = line.split("-");
String t1 = temp[0].trim();
StringBuilder sb = new StringBuilder();
for (char ch : t1.toCharArray()) {
if (Character.isDigit(ch)) {
sb.append(ch);
}
}
if (sb.toString().length() > 0) {
int v = Integer.valueOf(sb.toString());
}
答案 1 :(得分:0)
这两行中的“ - ”可能不匹配。 您可以打印t1的值并检查它是否返回“12”。
从具有不同字符集的屏幕复制字符串时可能会发生这种情况,例如:Word / Outlook。