Java Scanner分隔符 - 从单个字符串中提取多个子字符串

时间:2013-06-26 16:56:38

标签: java string io split

我已经搜索了Stackoverflow上的几乎所有页面,但仍然没有找到如何执行此操作。我有以下字符串(从文件中解析):

f:   (matchQuan
     (Recipe
     (Unique FoodType "slurpee" "xxx-xxx-eee-ddd")) 
     (Unique IngredType "slurpee" "qqq-rrr-sss") "slurpee" 
     (Cup-Vol 12)).

现在,我想再次解析此字符串并提取字符串matchQuanslurpee,字符串UniqueFoodType以及Recipe和身份证号码,即xxx-xxx-eee-ddd

如何使用单个字符串中的多个提取来执行此类操作?我无法使用Scanner.next()我不相信,因为它会进入字符串中的下一个标记。

谢谢!

1 个答案:

答案 0 :(得分:0)

这会对你有帮助吗?

public static void getString() {
    String str = "f:   (matchQuan " +
                      "(Recipe "+
                      "(Unique FoodType" + " slurpee"+ " xxx-xxx-eee-ddd"+
                      "(Unique IngredType"+ " slurpee"+ " qqq-rrr-sss"+" slurpee" +
                       " (Cup - Vol 12)).";
    String newStr=str.replaceAll("\\(","").replaceAll("\\)","");
    String[] arrStr=newStr.split(" ");
    for (int i=0;i<arrStr.length;i++){
        System.out.println(arrStr[i]);
    }

}