Groovy:如何在不转义的情况下在字符串中包含反斜杠?

时间:2014-11-06 21:49:24

标签: string groovy scripting

我想在我的groovy程序中使用以下字符串文字而不必转义反斜杠:

C:\dev\username

这是我到目前为止所尝试的内容:

String(Single Quotes)& GStrings(双引号)

def aString = 'C:\dev\username'
def aGString = "C:\dev\username"
  • 不起作用,因为\具有特殊含义并用于转义其他字符
  • 我最终不得不逃避\与另一个\
def s = 'C:\\dev\\username'

Slashy String& Dollar Slashy String

适用于某些字符串,例如以下

def slashy = /C:\windows\system32/
def dollarSlashy = $/C:\windows\system32/$

但是它解释了\ u具有特殊意义(以下不起作用):

def s1 = /C:\dev\username/
def s2 = $/C:\dev\username/$
  • Groovy:未找到四位十六进制字符代码

1 个答案:

答案 0 :(得分:10)

哇,另一个把Windows文件路径放在斜线字符串中的问题。很好的抓住。我之前遇到过的问题是在路径上包含一个尾随反斜杠,例如: /C:\path\/,导致unexpected char: 0xFFFF错误。

无论如何,为了回答,假设Windows路径不区分大小写,为什么不一次利用它呢?

def s = /C:\DEV\USERNAME/

\u unicode字符转义序列 区分大小写。