Искам да заменя „ти“ с „сестра ти“. Въпреки това дума като "youtube" трябва да остане непроменена. Затова реших да използвам
replace(/ you /, " your sister ");
Въпреки това сега низът "Обичам те!"остава непроменен, както и всеки низ, където думата, която не сте последвана от низ с интервал в нея. Бих искал да знам дали символът, който следва думата" вие ", е буква или не. Ако е, оставете го непроменен, ако не е, сменете го на „сестра ви“.
Отговори:
6 за отговор № 1Какво е "писмо"? Това не е толкова тъпо, колкото звучи: като пример, много езици се отнасят 7
като число, но има някои ортографии вкоето всъщност е писмо. Така че в този случай трябва да опишете какво имате предвид, така че отговорите да бъдат съобразени с това (добре сте се справили в това, но заглавието ви все още е внушително).
За да отговорите на актуалния въпрос, можете да направите глобална подмяна на редовни изрази като:
var replaced = input.replace(/byoub/g, "your sister");
Използвайки това, низът "ти" ще бъде заменен с "сестра ви", но само ако е заобиколен от "граници на думите" (интервали, начало / край на изречението, символи и т.н.).
Ние също трябва да използваме /.../g
модификатор (за „глобално съвпадение“), така че подмяната да действа всичко случаи на „ти“, а не само на първия.
4 за отговор № 2
Имате нужда от думата граница b
s.replace(/byoub/g, "your sister")
2 за отговор № 3
Търсите b
(граница на думата):
slice(/byoub/, "your sister")
Но какво е slice
? Предполагам имаш предвид нещо подобно
string.replace(/byoub/, "your sister")
2 за отговор № 4
b
съвпада с граница на думата - между символа на думата (всъщност буквено-цифров плюс подчертаване)1) и символ без думи.
Така /byoub/
би отговаряло на "ти", когато не е част от друга дума.
1 Това е по „исторически причини“: улесни съпоставянето на обичайния набор от знаци, разрешени в C като идентификатори на езика за програмиране.