2013-09-18 5 views
-2

Можете ли вы, ребята, помочь мне ??Регулярное выражение для строки между кавычками и заменить его

У меня есть строка здесь:

a$20=A.createVar("/LIST/S_UNB/C_S001/D_0001/*var", a$1, this); 

Теперь я хочу, чтобы заменить строку в «» со значением, которое появляется после последнего «/».

здесь я хочу привести быть

a$20=A.createVar("*var", a$1, this); 

Я пытаюсь использовать в качестве минимальных объектов, как это возможно, и мое регулярное выражение выглядит следующим образом

\"([^\"]*)\" 

Правильно ли это?

+3

Какой язык ????? –

+0

На каком языке это? – Emmet

+2

* «Это правильно?» * Это работает? Если нет, то это, вероятно, неверно. –

ответ

0

Если предположить, что кавычки не являются частью выражения, используйте

[^/]+$ 

$ означает конец строки, которая сделает его возвращать только значение после последнего «/».

0

Вы можете использовать этот код:

String s = "a$20=A.createVar(\"/LIST/S_UNB/C_S001/D_0001/*var\", a$1, this);"; 
// extract text between "" 
String sub = s.replaceAll("^[^\"]*\"([^\"]*)\".*$", "$1"); 
// find last index of/
int i = sub.lastIndexOf('/'); 
// replace content between "" by token after last/
String repl = s.replaceFirst("\"[^\"]*\"", '"' + sub.substring(i+1) + '"'); 
//=> a$20=A.createVar("*var", a$1, this); 
Смежные вопросы