字符串分词器(双引号和空格)

String Tokenizer (Double Quotes and Whitespace)

我正在尝试实现一种方法来为我正在构建的相册获取参数。但是,我很难弄清楚如何标记输入。

两个示例输入:

addPhoto "DSC_017.jpg" "DSC_017" "Fall colors"

addPhoto "DSC_018.jpg" "DSC_018" "Colorado Springs"

我想将此输入 return 一个包含 4 个元素的字符串数组,其中

我查看了 StringTokenizer 和 String.split,但我不确定如何设置分隔符。

您可能希望从命令行参数中提取这些参数,shell 将为您进行引号处理。但是,您一次只能执行一个添加照片操作。

如果您做不到,您可以尝试以下答案之一:

    String line = "addPhoto \"DSC_018.jpg\" \"DSC_018\" \"Colorado Springs\"";
    String[] pieces = line.split(" \"");

    for (String p : pieces) {
        System.out.println(p.replaceAll("\"", ""));
    }