parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Все логично

mashi 20.12.2005 12:45

В вашем примере вы хотите из строки 'а' получить строку 'v'.
Для этого Парсеру необходимо пройтись по таблице подстановок и сначало заменить 'а' на 'b', а потом 'b' заменить 'v'. Т.е. получается уже не просто замена, а замена замены.

Но ведь метод replace призван (цитирую документацию):
Эффективно заменяет подстроки в строке в соответствии с таблицей подстановок, работает существенно быстрее match.
Вернемся к вашему примеру. Если бы таблица замен выглядела примерно так:
a  b
b  c
c  d
d  e
e  f
f  g
g  h
h  i
i  j
j  k
k  l
l  m
m  n
n  o
o  p
p  r
r  s
s  t
t  u
u  v
Для того что бы 'а' заменилось на 'v' необходимо сделать дофига замен. Откуда взяться эффективности для конкурирования с методом match? Именно поэтому replace делает только одну замену.