Member 14783910 Ответов: 1

В javascript, как вставить букву (например: T) прямо перед всеми заглавными и строчными буквами F в слове?


I am trying to solve a problem in JavaScript. I have a string text consisting of English word. I need to find all the capital and lowercase F's in a word and need to insert T in front of that word. Please help me! Thank you.


Что я уже пробовал:

function addTbeforeFs(text, chr) {
  var output = '';
  for (var i = 0; i < text.length; i++) {
    if (i % 3 === 0) output += chr;
    output += text.charAt(i);
  }

  return output;
}

alert(addTbeforeFs('Fluffy', 'T'));

//My Output is : TFluTffy

// Expected Output should be: TFluTfTfy

phil.o

Почему вы вставляете chr каждые три символа вместо того, чтобы проверять текущее значение и действовать соответственно? i % 3 === 0 не будет проверять, является ли текущая буква прописной или строчной буквой F.

Member 14783910

Я новичок в JS, я пытаюсь понять, как получить ожидаемый результат... Я думаю применить регулярное выражение, но не знаю, с чего начать... и да, то, что я сделал там, может быть, это неправильный подход к решению. Спасибо!

phil.o

Сначала вы должны попытаться сделать это без регулярного выражения; вы должны научиться делать это итеративным способом, потому что в этом смысл упражнения: повторите строку, проверьте заданное условие и действуйте соответственно.
Начните с того, что нарисуйте диаграмму на листе бумаги, а затем переведите ее в код.

1 Ответов

Рейтинг:
0

Richard Deeming

Регулярные выражения были бы самым простым вариантом:

function addLetterBeforeFs(text, letterToAdd) {
    return text.replace(/f/gi, letterToAdd + "$&");
}
Регулярные выражения - JavaScript | MDN[^]
String.prototype.replace() - JavaScript | MDN[^]