В этом уроке мы собираемся изменить строку слов, чтобы они были написаны в верблюжьем регистре.

Вы можете сделать это, используя приведенное ниже регулярное выражение, чтобы выбрать все совпадающие части строки, а затем в первом индексе вы прописываете слово в нижнем регистре, а в следующих индексах вы можете сделать его прописным.

export const camel = (text: string): string => {
    return text.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
        if (+match === 0) return ""; // if space
        return index === 0 ? match.toLowerCase() : match.toUpperCase();
    });
}

Это позволит вам использовать следующие сценарии и верблюжий ответ.

import {camel} from "./camel";
test('it will camelcase text', () => {
  expect(camel('CamelCaseClassName')).toBe('camelCaseClassName')
  expect(camel('Camel Case Class Name')).toBe('camelCaseClassName')
  expect(camel('Camel CaseClassName')).toBe('camelCaseClassName')
  expect(camel('camel case class name')).toBe('camelCaseClassName')
  expect(camel('CamelCase ClassName')).toBe('camelCaseClassName')
  expect(camel('CamelCaseClass Name')).toBe('camelCaseClassName')
});

Функция верблюда

Первоначально опубликовано на https://paulund.co.uk.