Синтаксическая ошибка при удалении плохого символа в groovy

Здравствуйте, у меня есть строка типа a= " $ 2 187.00". Я попытался удалить все пробелы и недопустимые символы, такие как a.replaceAll("\\s","").replace("$","") . но я получаю сообщение об ошибке Impossible to parse JSON response: SyntaxError: JSON.parse: bad escaped character как удалить плохой символ в этом выражении, чтобы значение стало 2187.00. Пожалуйста, помогите мне. Заранее спасибо


person shashank    schedule 10.08.2013    source источник


Ответы (1)


def a = ' $ 2 187.00'
a.replaceAll(/\s/,"").replaceAll(/\$/,"")

// or simply
a.replaceAll(/[\s\$]/,"")

Он должен вернуть 2187.00.

Примечание

  1. что $ имеет особое значение в строковых литералах с двойными кавычками "" , называемых GString.
  2. В groovy вы можете использовать литерал регулярного выражения, что лучше, чем использование регулярного выражения с несколькими escape-последовательностями в строке.
person kdabir    schedule 10.08.2013
comment
Спасибо, Кунал, это сработало, как преобразовать результат в числовой, пожалуйста, помогите мне, я застрял. Спасибо. - person shashank; 10.08.2013
comment
Просто добавьте as Double в конец выражения, строка будет преобразована в Double (или float, если хотите) - person kdabir; 10.08.2013
comment
Эй, кунал, я пытался, но получаю следующую ошибку groovy.lang.MissingPropertyException: нет такого свойства: asDouble для класса: java.lang.String в Script1.run(Script1.groovy:2) я пробовал a.replaceAll(/\s/ ,).replaceAll(/\$/,).asDouble пожалуйста, помогите мне - person shashank; 10.08.2013