обработка строки..
Есть строка текста содержащая круглые скобки, нужно заменить все запятые в строке находящиеся внутри скобок на пробелы, причём скобок несколько. Незнаю как должен выглядеть регЕксп в данном случае.. подскажите пожалуйста!
|
|
блин, наверное оч туплю... не могу найти там подходящее
str = str.replace(/,/g, " "); - меняет все запятые, а как обратится тока к тем которые внутри круглых скобок? В одном выражении это можно сделать или надо разбивать на подстроки? |
alert("abc (def,ghi) jkl (mno,pqr) stu (vwx, yz)".replace(/(\(.*?),(.*?\))/g, "$1 $2")) |
Octane, во, то что нужно, спасибо большое! надо мне учить регЭкспы))
|
блин, а как мне копировать подстроку совпадающую с указанным выражением и записать её в переменную?
|
YISHIMITSY, используйте RegExp.match()
|
спс, разобрался) но тут ещё вопрос возник, если в скобках несколько запятых, и нужно все их заменить, как сделать? выше приведённый регЭксп работает только для одной на каждую скобку...
|
Пока в голову приходит только это:
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); |
а такой вариант?
var str = 'aa (xx, dd, ee), f gg (hh, dd, pp)'; str = str.replace(/(\(.*?\))/g, function (a,b){return b.replace(/,/g, '')}) alert(str); |
Часовой пояс GMT +3, время: 12:04. |