【发布时间】:2012-08-20 05:33:43
【问题描述】:
我正在尝试解析一些行并检查它们的值,例如在字符串中:
" 1 ON OFF";
我必须检查是否:
- 第一个字符为空白。
- 第二个字符是 int。
- 第三个字符为空白。
- 第四个字符为 2 个字符,为 ON。
- 第五个字符为空白。
- 第六个字符为3个字符,为OFF。
我可以使用正则表达式一次性完成,但我想要的是每次检查后我必须显示是否正确:
System.out.println("1st character is not a blank : incorrect");
System.out.println("1st character is blank : correct");
我想为此使用Scanner 类,但是当我尝试检测第一个字符时,它显示1 而不是字符串的空白,
" 1 ON OFF";
public class NewClass {
public void StringExample(){
String str = " 1 ON OFF";
Scanner sc = new Scanner(str);
System.out.println(sc.next());
}
public static void main(String args[]){
NewClass nc = new NewClass();
nc.StringExample();
}
}
在java中有没有其他类可以轻松做到这一点?
【问题讨论】:
-
你真的需要检查空白吗?只需先修剪您的输入字符串并使用带有默认分隔符的扫描仪,您将获得
[1, "ON", "OFF"]令牌。