.

Статус
Закрыто для дальнейших ответов.
Как вариант, сохранять где-то этот формат и по нему определять индекс Вашей переменной.
Вынять вынуть
 
Как вариант, сохранять где-то этот формат и по нему определять индекс Вашей переменной.
Вынять вынуть
Дак формат этот сохранен в конфиге (пользователем), главное как-то по этому формату вытянуть перменную из строки...
И просто индекс определять - не достаточно... Ведь эта переменная может быть любой длины, и в любом месте (начало-средина-конец)
 
Код:
Stirng format = "some value: %N%";
String formattedString = "some value: 1235";
int idx = format.indexOf(''%');
int wsp = formattedString.lastIndexOf(' ');

String value;

if(wsp > idx)
  value = formattedString.substring(idx, wsp);
else
  value = formattedString.substring(idx);
 
Код:
Stirng format = "some value: %N%";
String formattedString = "some value: 1235";
int idx = format.indexOf(''%');
int wsp = formattedString.lastIndexOf(' ');

String value;

if(wsp > idx)
  value = formattedString.substring(idx, wsp);
else
  value = formattedString.substring(idx);
Спасибо, сейчас это лучший вариант, но его можно поломать, просто например поставив еще куда-то "%" =(
 
Код:
String f = "some value: %N%";
String fs = "some value: 1235";
String fin = fs.replace(f.replace("%N%", ""), "");
 
Код:
String f = "some value: %N%";
String fs = "some value: 1235";
String fin = fs.replace(f.replace("%N%", ""), "");
Эх.. Тоже хороший вариант, однако, и это сломать тоже можно:
Надо просто добавить символы после %N% =(
Может кто знает как сделать это например регуляркой?
d0815419e441.png
 
Код:
String r = "%N%";
String f = "some value: %N% keke";
String fs = "some value: keke44 keke";
String fin = "";
int s = f.indexOf(r);
fs = fs.substring(s);
fin = fs.substring(0, fs.length() - f.substring(s + r.length()).length());
System.out.println(fin);

Проверяй
 
Код:
String r = "%N%";
String f = "some value: %N% keke";
String fs = "some value: keke44 keke";
String fin = "";
int s = f.indexOf(r);
fs = fs.substring(s);
fin = fs.substring(0, fs.length() - f.substring(s + r.length()).length());
System.out.println(fin);

Проверяй
Тоже не прокатит, если поменять

String r = "%N%";
String f = "some value: kjk keke";
String fs = "some value: keke44 keke";
Тс же не знает значение формата, головоломка не решена).
 
аамм
Понятно что работать не будет ты убрал из текста %N%
String f = "some value: %N% keke";
String r = "%N%";
Можно и без этого
Код:
String f = "some value: %N% keke";
String fs = "some value: keke44 keke";
String fin = "";
int s = f.indexOf("%N%");
fs = fs.substring(s);
fin = fs.substring(0, fs.length() - f.substring(s + 3).length());
System.out.println(fin);

У автора темы:
upload_2016-6-20_22-32-42.png
 
ИТА ФАТАШОП, МИНЯ ПАДСТАВИЛИ!!!
Вообще да, вроде работает, но я вспомнил почему я хотел делать это регуляркой, мне же еще надо проверить построена ли строка по этому формате.. :D
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх