所以我来自C背景(原来最初,虽然我已经有近5年没用过那种语言了)而且我正在尝试用Java中的字符串解析一些值.在CI中将使用sscanf.在Java中,人们告诉我"使用Scanner或StringTokenizer",但我看不出如何使用它们来实现我的目的.
我的输入字符串看起来像"17-MAR-11 15.52.25.000000000".CI会做类似的事情:
sscanf(thestring, "%d-%s-%d %d.%d.%d.%d", day, month, year, hour, min, sec, fracpart);
Run Code Online (Sandbox Code Playgroud)
但在Java中,我所能做的就是:
scanner.nextInt();
Run Code Online (Sandbox Code Playgroud)
这不允许我检查模式,对于"MAR"我最终不得不做以下事情:
str.substring(3,6);
Run Code Online (Sandbox Code Playgroud)
可怕!当然有更好的方法吗?