如何在原始字符串中嵌入三重双引号

How to embed a triple double quote in a raw string

假设我们有一个原始字符串如下:

val myRawString = """line 1
line2
line3"""

假设我们要表示为原始字符串的值有一行本身包含三重双引号。例如,第 4 行应该是 this line has """ (triple double quote) 我们如何才能做到这一点?

我在 Kotlin slack 的类似问题中看到的一种方法是声明一个变量:

val qqq = "\"\"\""
val myRawString = """line 1
line2
line3
this line has $qqq (triple double quote)"""

你不能在原始字符串中转义任何东西,但你可以使用字符串模板,你可以在其中转义,所以你可以这样做:

val myRawString = """line 1
line2
line3
this line has ${"\"\"\""} (triple double quote)
"""