This question already has answers here:
Java String use quotes without escape character
                            
                                (3个答案)
                            
                    
                    
                        Reading from a raw resource text file
                            
                                (3个答案)
                            
                    
                4个月前关闭。
        

    

有一段文本包含很多双引号:

"fdfdfs"sdf)sdfds*fsd"/fsdfsd\"f""we"r32ed**s(fsdF"sdF"s'sfsD"FSD"'f"'SD"FsD"f'"sdF"Sf'Sf"S


现在,我想将其分配给Java中的String变量。我该怎么办?我知道反斜杠可能有效,但是如果文本包含数千个双引号怎么办?在python中,我可以使用单引号或三引号轻松解决此问题。 Java(和Android Studio)中是否有任何类似的方法可以解决此问题?

编辑:我想复制文本,然后直接将其“拖放”(粘贴)到String中。就像在Python中一样,我只需用一对三引号就能满足要求:

String s=
a="""
"fdfdfs"sdf)sdfds*fsd"/fsdfsd\"f""we"r32ed**s(fsdF"sdF"s'sfsD"FSD"'f"'SD"FsD"f'"sdF"Sf'Sf"S
"""
print(a) # outcome:"fdfdfs"sdf)sdfds*fsd"/fsdfsd\"f""we"r32ed**s(fsdF"sdF"s'sfsD"FSD"'f"'SD"FsD"f'"sdF"Sf'Sf"S

最佳答案

Java 13具有称为Text Blocks的预览功能,该功能完全允许*:

String s = """
           <your text here>
           """;


您必须为此enable preview features,并且该功能在将来的版本中可能会或可能不会更改。

在Java的早期版本中,没有这种功能。

*嗯,主要是。文本块不是真正的原始字符串,但至少允许使用双引号。

08-08 06:14
查看更多