Загадка про String.replace()

Загадка від Олега (він же a_[w]):

var str:String = "vvv.blog.pirrest.com";
trace(str.replace("v", "w"));

Як Ви вважаєте що буде в output?

Далі відповідь

wvv.blog.pirrest.com

Хоча більшість вимовить “Тьфу, буду юзать split().join()“, функція replace() виконує свою логічну функцію. Вона чекає на RegExp першим параметром, і якщо приходить String, то призводить його до найближчого RegExp, в нашому випадку це /v/. Тобто, щоб отримати очікуваний результат, на потрібно додати прапорець /g.

var str:String = "vvv.blog.pirrest.com";
trace(str.replace(/v/g, "w")); //www.blog.pirrest.com

Таґи: , ,

Один коментар to “Загадка про String.replace()”

  1. JabbyPanda:

    Для лінивих:
    mx.utils.StringUtil.substitute

    Або з As3CoreLib:
    com.adobe.utils.StringUtil.replace

Залиште свій коментар