Строка, не заменяющая слово - PullRequest
0 голосов
/ 20 февраля 2019

Мои значения кажутся правильными;однако моя замена не заменяется на то, что я вставил.

var wiseProverb = "Actions shout louder than words."; // Code will be tested 
with "You don't have to shout so loud."
var substringIndex = 0;

/* Your solution goes here */
substringIndex = wiseProverb.indexOf("shout");
wiseProverb.replace("shout", "speak");

ПРАВИЛЬНО Тестирование значения substringIndex Ваше 8

НЕПРАВИЛЬНО Проверка того, что wiseProverb был обновлен из «Действия, громче слов."

Ваш и ожидаемый отличаются.См. Основные моменты ниже.

Ваши

Действия кричат ​​громче слов.

Ожидаемые

Действия говорят громче слов.

Правильное тестированиезначение substringIndex с wiseProverb = "Вам не нужно так громко кричать."

Ваш

18

НЕПРАВИЛЬНО Проверка того, что wiseProverb был обновлен с "Вы не делаете"не надо так громко кричать. "

Ваш и ожидаемый отличаются.См. Основные моменты ниже.

Ваш

Вам не нужно так громко кричать.

Ожидаемый

Вам не нужно говорить так громко.

Ответы [ 3 ]

0 голосов
/ 20 февраля 2019

Вы не присвоили значение обратно wiseProverb.Вызвав .replace, вы создали новую строку с заменой.

wiseProverb = wiseProverb.replace("shout", "speak");

0 голосов
/ 20 февраля 2019

Метод replace() ищет в строке указанное значение или регулярное выражение и возвращает новую строку, в которой указанные значения заменяются.

Вам следует переназначить это значение чему-либо или просто напечататьпреобразование.

var newWiseProverb = wiseProverb.replace("shout", "speak");
// this will only replace the first occurrence of that value.

// If you need to replace all occurrences you need to use a regex
var newWiseProverb = wiseProverb.replace(/shout/g, "speak");

// Or you can just  use that value in the placeholber
document.getElementById("anyplace").innerHTML = str.replace(/shout/g, "speak");

См. https://stackoverflow.com/a/54715766/2523147 для получения дополнительных комбинаций.

Если вы хотите копать дальше, см. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

Замена() метод возвращает новую строку с некоторыми или всеми совпадениями шаблона, замененными заменой.Шаблон может быть строкой или RegExp, а замена может быть строкой или функцией, вызываемой для каждого совпадения.Если pattern является строкой, будет заменено только первое вхождение.

0 голосов
/ 20 февраля 2019

Вам необходимо переназначить значение переменной после replace, поскольку оно не меняет исходную строку.

wiseProverb = wiseProverb.replace("shout", "speak");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...