.split() не делит строку

185
20 ноября 2017, 17:27

есть строка cbr-coa-dic:Osv_Dt_A_10501$dim-int:Nacz_Inostr_Valyuta_Axis/mem-int:Nacz_Valyuta_Rf_Member ее необходимо раздеить по символу $ пробовал делить String[] soch = f.split( "$"); но деления не происходит, при том , что заменив на другой символ(допустим d) строка делится нормально. в чем может быть проблема и как ее можно решить?

Answer 1
String[] soch = f.split("\\$");

Согласно документации, первый аргумент метода split — это строка, содержащая регулярное выражение, которое ищет куски, по которым будет делиться строка. У регулярных выражений есть свой синтаксис, и знак доллара является частью этого синтаксиса (а также точка, вопросительный знак, скобки и другие символы).

Чтобы доллар воспринимался как просто доллар, а не как часть синтаксиса регулярки, нужно его экранировать, поставив перед ним слэш. Но если просто написать "\$", то это ничего не даст, так как это экранирование на уровне синтаксиса строки Java, а нам надо запихнуть слэш в саму строку, поэтому записываем слэш в экранированном виде: "\\$" даст нам строку из двух символов \$, которая является регулярным выражением, которое будет искать просто знаки доллара.

READ ALSO
Приведение типов при ссылке на ресурсы

Приведение типов при ссылке на ресурсы

В Activity создал переменную

194
Удаление нулей в Java

Удаление нулей в Java

вывожу в таблицу на странице jsp переменную <td><c:out value="${vp44150sqlkol}" /></td>, нужно удалить не значащие нули, есть число например такое 1

271
Присвоение двух значений одному textbox

Присвоение двух значений одному textbox

Подскажите как значения из двух текст боксов присвоить одному и добавить между ними запятую?

291