Groovy: Как включить обратную косую черту внутри строки без экранирования?

Я хочу использовать следующий строковый литерал внутри моей программы groovy, не избегая обратных косых черт:

C:\dev\username

Вот что я пробовал до сих пор:

String (Single Quotes) и GStrings (Double Quotes)

def aString = 'C:\dev\username'
def aGString = "C:\dev\username"
  • Не работает, потому что\имеет особое значение и используется для удаления других символов
  • В итоге мне нужно сбежать\с другим \
def s = 'C:\\dev\\username'

Slashy String и доллар 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

Ничего себе, еще одна проблема с установкой путей файлов Windows в slashy strings. Хорошо поймал. В начале, с которым я столкнулся, включалась обратная косая черта на пути, например. /C:\path\/, что приводит к ошибке unexpected char: 0xFFFF.

В любом случае, ради ответа, учитывая, что пути Windows нечувствительны к регистру, почему бы не использовать его за один раз?

def s = /C:\DEV\USERNAME/

Управляющая последовательность символов \u unicode чувствительна к регистру.