From 9a9736de16c89521cce5e3ab81965d7698b51531 Mon Sep 17 00:00:00 2001 From: Rohit Tanwar Date: Sun, 24 Dec 2017 19:17:58 +0530 Subject: [PATCH] update toSnakeCase.md --- snippets/toSnakeCase.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/snippets/toSnakeCase.md b/snippets/toSnakeCase.md index 957fd3a78..509e228c5 100644 --- a/snippets/toSnakeCase.md +++ b/snippets/toSnakeCase.md @@ -6,7 +6,12 @@ Use `replace()` to add underscores before capital letters, convert `toLowerCase( ```js const toSnakeCase = str => - str.replace(/(\w)([A-Z])/g, '$1_$2').replace(/[\s-_]+/g, '_').toLowerCase(); + let regex = rx = /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g; + let arr = str.match(regex); + arr = arr.forEach(x =>{ + return s.toLowerCase(); + }); + return arr.join('_') // toSnakeCase("camelCase") -> 'camel_case' // toSnakeCase("some text") -> 'some_text' // toSnakeCase("some-javascript-property") -> 'some_javascript_property'