09.05.2010, 21:31
|
Аспирант
|
|
Регистрация: 04.11.2008
Сообщений: 61
|
|
обработка строки..
Есть строка текста содержащая круглые скобки, нужно заменить все запятые в строке находящиеся внутри скобок на пробелы, причём скобок несколько. Незнаю как должен выглядеть регЕксп в данном случае.. подскажите пожалуйста!
|
|
09.05.2010, 21:34
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
|
|
09.05.2010, 21:38
|
Аспирант
|
|
Регистрация: 04.11.2008
Сообщений: 61
|
|
блин, наверное оч туплю... не могу найти там подходящее
str = str.replace(/,/g, " "); - меняет все запятые, а как обратится тока к тем которые внутри круглых скобок? В одном выражении это можно сделать или надо разбивать на подстроки?
|
|
09.05.2010, 21:45
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
alert("abc (def,ghi) jkl (mno,pqr) stu (vwx, yz)".replace(/(\(.*?),(.*?\))/g, "$1 $2"))
|
|
09.05.2010, 21:50
|
Аспирант
|
|
Регистрация: 04.11.2008
Сообщений: 61
|
|
Octane, во, то что нужно, спасибо большое! надо мне учить регЭкспы))
|
|
06.06.2010, 01:34
|
Аспирант
|
|
Регистрация: 04.11.2008
Сообщений: 61
|
|
блин, а как мне копировать подстроку совпадающую с указанным выражением и записать её в переменную?
|
|
06.06.2010, 06:33
|
Профессор
|
|
Регистрация: 21.01.2010
Сообщений: 1,022
|
|
YISHIMITSY, используйте RegExp.match()
|
|
11.06.2010, 13:18
|
Аспирант
|
|
Регистрация: 04.11.2008
Сообщений: 61
|
|
спс, разобрался) но тут ещё вопрос возник, если в скобках несколько запятых, и нужно все их заменить, как сделать? выше приведённый регЭксп работает только для одной на каждую скобку...
|
|
11.06.2010, 13:51
|
Профессор
|
|
Регистрация: 21.01.2010
Сообщений: 1,022
|
|
Пока в голову приходит только это:
var str = 'aa (xx, dd, ee), f gg (hh, dd, pp)';
x = str.split(/\(|\)/g);
for (var i = 1; i < x.length; i += 2) x[i] = '(' + x[i].replace(/,/g, '') + ')';
x = x.join('');
alert(x);
|
|
11.06.2010, 14:18
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
а такой вариант?
var str = 'aa (xx, dd, ee), f gg (hh, dd, pp)';
str = str.replace(/(\(.*?\))/g, function (a,b){return b.replace(/,/g, '')})
alert(str);
|
|
|
|