Julia &引用;错误:语法:无法并置字符串文字;在以引号结束三重引号字符串文字时

Julia &引用;错误:语法:无法并置字符串文字;在以引号结束三重引号字符串文字时,julia,Julia,我正在尝试创建一个字符串文字,表示带有引号字段的CSV文件。预期的CSV如下所示: "a","b" "1","2" 如果我希望在字符串末尾添加换行符,则三重引号可以工作: julia> """ "a","b" "1","2" """ "\"a\",\"b\"\n\"1\",\"2\"\n" 但是,如果我尝试生成一个结尾没有换行符的字符串,则会出现语法错误: julia> """ "a","b" "1","2""

我正在尝试创建一个字符串文字,表示带有引号字段的CSV文件。预期的CSV如下所示:

"a","b"
"1","2"
如果我希望在字符串末尾添加换行符,则三重引号可以工作:

julia> """
       "a","b"
       "1","2"
       """
"\"a\",\"b\"\n\"1\",\"2\"\n"
但是,如果我尝试生成一个结尾没有换行符的字符串,则会出现语法错误:

julia> """
       "a","b"
       "1","2""""
ERROR: syntax: cannot juxtapose string literal
有没有一个简单的方法来解决这个问题

另一方面,请注意,使用引号开始字符串文字时没有语法错误:

julia> """"a","b"
       "1","2"
       """
"\"a\",\"b\"\n\"1\",\"2\"\n"

问题在于,这本身就是一个有效的字符串文字:

"""
"a","b"
"1","2"""

当你使用另一个<代码> 时,解析器认为“WOAH,你不能只用另一个字符串来跟随一个字符串”。你可以强迫它不考虑“代码> 2”/代码>的引用,作为关闭<代码> >“<代码/>序列,通过使用<代码> > \代码>:< /P>

"""
"a","b"
"1","2\""""
在字符串的开头,没有这样的问题,因为前三个
字符用于开始字符串文字,而下面的
必须是字符串内部的引号字符,这正是您想要的

我不确定你认为最好的解决方法是什么。这些选择包括:

  • 在末尾退出
  • 将结束语
    放在另一行
  • 后者对我来说似乎更好,但这是你的决定


    有关三引号字符串文字的其他示例,请参见

    太棒了,谢谢!老实说,字符串末尾的换行符可以满足我现在的需要,但我想知道如果我不想要换行符,我会怎么做。