diff --git a/snippets/camel.md b/snippets/camel.md index 8ce173b89..a989e8fc8 100644 --- a/snippets/camel.md +++ b/snippets/camel.md @@ -5,16 +5,13 @@ tags: string,regexp,intermediate Converts a string to camelcase. -Break the string into words and combine them capitalizing the first letter of each word, using a regexp. +Break the string into words and combine them capitalizing the first letter of each word, using a regexp, `title()` and `lower`. ```py import re -def camel(str): - s = re.sub(r"(\s|_|-)+","", - re.sub(r"[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+", - lambda mo: mo.group(0)[0].upper() + mo.group(0)[1:].lower(),str) - ) +def camel(s): + s = re.sub(r"(\s|_|-)+", " ", s).title().replace(" ", "") return s[0].lower() + s[1:] ```