繁体   English   中英

自动转义报价

[英]Escaping quotes automatically

我有一个文本文件,看起来像:

word("word1");
word("word2");
word("word3");
etc

(从网站复制)

我想编写一个Java程序来获取每个单词(word1,word2等)并将其放在String []中。 输出将是

my_list = {"word1", "word2" etc};

我想将原始输入放在方括号之间,使其成为字符串,然后对其进行处理,但是问题是我需要手动转义文件中的每个“”。

我该如何解决?

你为什么还要做word()? 如果不需要,请删除它,然后使文本文件如下所示:

word1
word2
word3

如果您实际上需要文本文件看起来像这样,请通过分割以下内容来读取每一行:

String thisWord = parsed.split("\"")[1];

您的意思是:

try {
        String text = "word(\"word1\");\n"
                + "word(\"word2\");\n"
                + "word(\"word3\");\n"
                + "etc";
        Pattern pattern = Pattern.compile("\".*?\"");
        Matcher matcher = pattern.matcher(text);
        ArrayList<String> list = new ArrayList<>();
        while (matcher.find()) {
            list.add(matcher.group(0));
        }
        StringBuilder out = new StringBuilder("my_list = {");
        for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
                out.append(iterator.next());
            if(iterator.hasNext())
                out.append(", ");
        }
        out.append("};");
        JOptionPane.showMessageDialog(null, out.toString());
    } catch (PatternSyntaxException ex) {
        // Syntax error in the regular expression
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM