В этом уроке мы собираемся изменить строку слов, чтобы они были написаны в верблюжьем регистре.
Вы можете сделать это, используя приведенное ниже регулярное выражение, чтобы выбрать все совпадающие части строки, а затем в первом индексе вы прописываете слово в нижнем регистре, а в следующих индексах вы можете сделать его прописным.
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.