You must create a method that can convert a string from any format into CamelCase. This must support symbols too.

*Don't presume the separators too much or you could be surprised.*

### Tests
```python
camelize("example name")   # => ExampleName
camelize("your-NaMe-here") # => YourNameHere
camelize("testing ABC")    # => TestingAbc
```

Source: codewars | Difficulty: EASY
Tags: String algorithms

Starter code: def camelize(str_):
	

Solutions:
import re

def camelize(s):
	return ''.join([w.capitalize() for w in re.split('\\W|_', s)])


import re

def camelize(s):
	return ''.join(map(str.capitalize, re.split('\\W|_', s)))


import re

def camelize(s):
	return ''.join(map(str.capitalize, re.findall('[a-zA-Z0-9]+', s)))


def camelize(str_):
	new_str = ''
	new_word = True
	for elem in str_:
		if elem.isalnum():
			new_str += elem.upper() if new_word else elem.lower()
			new_word = False
		else:
			new_word = True
	return new_str


def camelize(str_):
	k = ''
	str_ = str_.lower()
	for x in str_:
		if x.isalnum():
			k += x
		else:
			k += ' '
	return ''.join((x.capitalize() for x in k.split()))


import re

def camelize(str_):
	return ''.join((x.capitalize() for x in re.split('[\\W_]', str_)))


import re

def camelize(str_):
	words = re.findall('[a-z0-9]+', str_, flags=re.I)
	return ''.join((word.capitalize() for word in words))


import re

def camelize(str_):
	return ''.join([i.capitalize() for i in re.findall('[A-Za-z0-9]*', str_)])


from string import punctuation as p
camelize = lambda s: ''.join([x.capitalize() for x in reduce(lambda a, kv: a.replace(*kv), [(x, ' ') for x in p], s).split(' ')])


def camelize(string):
	s = ''
	for i in string.lower():
		if i in 'qwertyuiopasdfghjklzxcvbnm1234567890':
			s += i
		else:
			s += ' '
	s = s.split()
	lst = []
	for i in s:
		lst.append(i[0].upper() + i[1:])
	return ''.join(lst)