2016-07-14 2 views
-3

Я эту строку („ROLE_Failed, ROLE_USER“)
Как я могу заменить COMMA с «» так, чтобы выходной быть как
('ROLE_Failed', 'ROLE_USER')Groovy Как я могу заменить COMMA с «»

Обновление:
заводной ('authentication.principal.roles.roleName.join ("") ')
Выше оператора возвращает меня: (' ROLE_Failed, р OLE_USER «)
Как я могу обновляться выше заявление так, что она возвращает меня
(» ROLE_Failed»,„ROLE_USER“)

Я попробовал то, что предлагается, ниже мое заявление: заводной ('authentication.principal.roles.roleName.join ("") .Надеть (', ' "', '")')

Исключение Я получаю:
неожиданный маркер: @ строка 1, столбец 60. s.roleName.join (",") .replace (

+1

Это сообщение не связано с сервером JasperReports.Это просто потрясающий опыт: «Как я могу заменить COMMA на?», « –

+0

@AlexK. Я парень Джаспер и понятия не имею о хороших потребностях в решении этого? – GeekExplorer

ответ

3
​"('ROLE_Failed,ROLE_USER')".replace(",", "','")​​​​​​​​​​​​​​ 
+0

Привет, спасибо, что ответили. Я получаю следующее исключение: org.codehaus.groovy.control.MultipleCompilationErrorsException. Нужно ли использовать любую escape-последовательность? – GeekExplorer

+1

Код Jeremies работает, как указано выше. Если у вас есть ошибки компиляции, они не из этой строки. – Fels

+0

@GeekExplorer Эта строка работала для меня. Можете ли вы опубликовать весь код, чтобы мы могли найти проблему? –

1

Ответ Джереми B верен. Тем не менее, я думаю, вы все еще можете встретить исключение из проблемы с копированием и вставкой.

Рассмотрим следующий код: Example of problem code

Как вы можете видеть, «тот же» код может производить различные результаты: первый тест прошел успешно, то второй не сделал. Если я повторно напечатаю код вручную, проблема не возникнет.

Предположительно, эта ошибка возникает при копировании кода из внешнего источника, при капот может произойти некоторая проблема преобразования символов, что приводит к тому, что ваш символ «или» по-прежнему выглядит одинаково, но по сути является другим символом. Вот почему компилятор . жалуется

код в текст для справки (не уверен, что проблема может быть воспроизведен путем копирования этого текста, как это может стандартизировать после кодирования)

def str = "('ROLE_Failed,ROLE_USER')" 
println str 
def a = str.replace(',',"','") 
println a 
//------------------------------------- 
def str2 = "('ROLE_Failed,ROLE_USER')" 
println str2 
def ab = str2.replace(',',"','")​​​​​​​​ 
println ab 

EDIT после вопроса обновления:

Код:

Я попробовал то, что предлагается, ниже мое заявление: заводной ('authentication.principal.roles.roleName.join (" ") .Надеть (', ', «», «")»)

Если я вижу, это правильно, есть пробел сразу после запятой. Таким образом, код необходимо написать:

authentication.principal.roles.roleName.join(", ").replace(', ',"','") 
+0

После тестирования: скопировать код в этом ответе может привести к этому интересному результату, точно так же, как на картинке –

+0

@ Завершите свой отрывок, но в моем случае он не работает. Я обновил вопрос, пожалуйста, изучите его. – GeekExplorer

+1

Привет @GeekExplorer, пожалуйста, проверьте мое редактирование ... После запятой есть пробел? –

Смежные вопросы