victorzadorozhnyy
@victorzadorozhnyy

Как сделать регулярку для замены буквы в строке на ключи из object?

Есть строка с английстим текстом и есть объект у которого ключи английские буквы, а значения буквы другого алфавить.
const pairs = { "a": "ა", "b": "ბ", "g": "გ", ...}

В приложении есть кнопки, которые в оригинальном тексте заменяют буквы при нажатии. Сейчас это выглядит так
let myObject = { a: "ა", b: "ბ", g: "გ", ... } // Сюда пушаем новую пару при нажатии кнопки
let text = "There are many ways that reading helps you to learn English...."

class App extends Component {
  render() {
    Object.keys(myObject).map((key, index) => {
      var search_term = new RegExp(key, "gi")
      text = text.replace(search_term, myObject[key]) // хочу заменить на регулярку, в которую смогу добавлять и убирать пары букв
    })
    return (
      <div className="App-body">
        <p>{text}</p>
      </div>
    )
  }
}

Как сделать такую регулярку?
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 1
@zendor
Можно без регулярного выражения:
const pairs = { a: 'ა', b: 'ბ', g: 'გ'};
const str = 'There are many ways that reading helps you to learn English.';
[...str].map(letter => pairs[letter] || letter).join``;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
17 февр. 2019, в 20:49
2000 руб./за проект
17 февр. 2019, в 20:47
100 руб./за проект