Как я могу заменить строку между первым &
и следующим &
только:заменить строку между двумя первыми встреченным «&» гольцами
public class Test02 {
public static void main(String[] args) {
String xyz = "&axy=asdsd&ram=2 gb4 gb&asd=sdsd&";
String x = xyz.replaceAll("&ram=.*&", "&ram=8 gb&");
System.out.println(x);
}
}
моего вход - &axy=asdsd&ram=2 gb4 gb&asd=sdsd&
моего выхода - &axy=asdsd&ram=8 gb&
, но я хочу - &axy=asdsd&ram=8 gb&asd=sdsd&
только хочу изменить средний часть.
Я создаю поисковый фильтр. Если бы какой-либо API для построения запроса существовал, я бы с удовольствием узнал.
(HTTP [Берегись жадностью]: //www.regular- expression.info/repeat.html#greedy) Попробуйте [. *?] (http://www.regular-expressions.info/repeat.html#lazy) вместо '. *' –
Используйте ['String x = xyz.replaceFirst ("& ram = [^ &] * &", "& ram = 8 gb &");'] (http://ideone.com/B7Fzia). Используйте «replaceFirst» для выполнения только одной операции S & R. –