Легко ли это сделать?scala, строковая переменная, обработанная как строка не regexp
scala> val p = "$"
scala> "hello, I have 65 dollars".replaceFirst("dollars", p)
Текущий результат
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
....
Ожидаемый результат в Скале 2.10:
hello, I have 65 $
проблема с переменной p
, которая хранит символ $
, мне нужно обработать его в виде строки не регулярное выражение.
Примечание:Я не могу изменить (например, заменить все небуквенные символов) р переменной (только стандартные функции, например, .ToString)
Примечание2: Данный пример является скорее игрушкой -пример. Я был бы признателен за более общее решение. То есть переменная p
может содержать любой тип содержимого (символы, цифры, текст, ...), поэтому замена «$» на «\\ $» doesn.t имеет смысл
(это улучшенная версия аналогичной проблемы: scala string, raw string)
Связанные http://stackoverflow.com/questions/12115187/replace-with –
@ ом-ном-ном да, я прочитал это уже, но есть замена .. . Не существует какой-либо метод, который бы выполнял задачу, не догадываясь, какая переменная p может или не может содержать, чтобы не получить ошибку? – xhudik
@Jesper это различный другой вопрос см. Примечание2 – xhudik