特别是正则表达式的Java原始字符串。多行字符串 2 周,2 日 Questions & Answers 42458 有没有办法在Java中使用原始字符串(没有转义序列) (我正在编写大量的正则表达式代码,原始字符串将使我的代码更具可读性) 我理解语言并没有直接提供这一点,但有没有任何方式可以“模拟”它们
# 4 楼答案 如果您正在使用eclipse,这是一个解决方案。 在将文本粘贴到字符串文字中时,可以自动使长文本块正确地多行,并自动转义特殊字符 “-粘贴在这里-” 如果在窗口中启用该选项→偏好→JAVA→编辑→打字→“粘贴到字符串文字时转义文本”
# 5 楼答案 我使用Pattern.quote。它解决了这个问题。因此: Pattern pattern = Pattern.compile(Pattern.quote("\r\n?|\n")); quote方法返回一个字符串,该字符串将与提供的字符串参数匹配,返回的字符串是我们案例中正确引用的字符串
# 6 楼答案 是 文本块来到Java Java 13 delivers long-awaited multiline strings 一些历史: Raw String Literals被撤回。这原本是JDK 12中的一个预览语言功能,但后来被撤回,并没有出现在JDK 12中。 It was superseded by Text Blocks (JEP 355) in JDK 13. 可以使用文本块轻松定义多行字符串文字。您不需要添加常规字符串文本附带的视觉混乱:串联运算符和转义序列。还可以控制字符串值的格式。例如,让我们看一下以下HTML片段: String html = """ <HTML> <BODY> <H1>"Java 13 is here!"</H1> </BODY> </HTML>"""; 请注意,三个引号,用于分隔块的开头和结尾
# 1 楼答案
没有(非常遗憾)
# 2 楼答案
将原始文本文件放在类路径中,并使用getResourceAsStream(..)读入
# 3 楼答案
不,没有
通常,您会将原始字符串和正则表达式放在属性文件中,但它们也有一些转义序列要求
# 4 楼答案
如果您正在使用eclipse,这是一个解决方案。 在将文本粘贴到字符串文字中时,可以自动使长文本块正确地多行,并自动转义特殊字符
“-粘贴在这里-”
如果在窗口中启用该选项→偏好→JAVA→编辑→打字→“粘贴到字符串文字时转义文本”
# 5 楼答案
我使用Pattern.quote。它解决了这个问题。因此:
quote方法返回一个字符串,该字符串将与提供的字符串参数匹配,返回的字符串是我们案例中正确引用的字符串
# 6 楼答案
是
文本块来到Java
Java 13 delivers long-awaited multiline strings
一些历史: Raw String Literals被撤回。这原本是JDK 12中的一个预览语言功能,但后来被撤回,并没有出现在JDK 12中。 It was superseded by Text Blocks (JEP 355) in JDK 13.
可以使用文本块轻松定义多行字符串文字。您不需要添加常规字符串文本附带的视觉混乱:串联运算符和转义序列。还可以控制字符串值的格式。例如,让我们看一下以下HTML片段:
请注意,三个引号,用于分隔块的开头和结尾