GeeksforGeeks App
Open App
Browser
Continue

# Python Program to test if the String only Numbers and Alphabets

Given a String, our task is to write a Python program to check if string contains both numbers and alphabets, not either nor punctuations.

Examples:

```Input : test_str = 'Geeks4Geeks'
Output : True
Explanation : Contains both number and alphabets.

Input : test_str = 'GeeksforGeeks'
Output : False
Explanation : Doesn't contain number.```

Method #1 : Using isalpha() + isdigit() + any() + all() + isalnum()

In this, we check for all digits containing is alphabets and numbers combination using all(), isalpha() and isdigit(). The any() and isalnum() is used to filter out possibility of punctuations.

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and Alphabets only``# Using isalpha() + isdigit() + any() + all() + isalnum()` `# initializing string``test_str ``=` `'Geeks4Geeks'` `# printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `# conditional combination for getting result.``res ``=` `not` `((``all``(idx.isdigit() ``for` `idx ``in` `test_str) ``or` `(``all``(idx.isalpha()``            ``for` `idx ``in` `test_str)) ``or` `(``any``(``not` `idx.isalnum() ``for` `idx ``in` `test_str))))` `# printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : True```

Time Complexity: O(n2)
Auxiliary Space: O(n)

Method #2 : Using regex

Using regex is one of the ways in which this problem can be solved.

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and Alphabets only``# Using regex``import` `re` `# initializing string``test_str ``=` `'Geeks4Geeks'` `# printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `# conditional combination for getting result.``res ``=` `bool``(re.match(``"^(?=.*[a-zA-Z])(?=.*[\d])[a-zA-Z\d]+\$"``, ``"A530"``))``        ` `# printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : True```

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #3 : Using in operator

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and Alphabets only` `# initializing string``test_str ``=` `'Geeks4Geeks'``lowercasealphabets``=``"abcdefghijklmnopqrstuvwxyz"``uppercasealphabets``=``"ABCDEFGHIJKLMNOPQRSTUVWXYZ"``digits``=``"0123456789"` `# printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `res``=``False``al``=``0``dig``=``0``for` `i ``in` `test_str:``    ``if` `(i ``in` `lowercasealphabets) ``or` `(i ``in` `uppercasealphabets):``        ``al``+``=``1``    ``elif` `(i ``in` `digits) :``        ``dig``+``=``1``if``(al``+``dig``=``=``len``(test_str)):``    ``res``=``True``    ` `# printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`   `#contributed by Bhavya Koganti`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : True```

Time Complexity: O(n)
Auxiliary Space: O(1)

Method #4 : Using replace() and len() methods

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and``# alphabets only` `# Initializing string``test_str ``=` `'Geeks4Geeks'` `lalphabets ``=` `"abcdefghijklmnopqrstuvwxyz"``ualphabets ``=` `"ABCDEFGHIJKLMNOPQRSTUVWXYZ"``digits ``=` `"0123456789"` `x ``=` `lalphabets``+``ualphabets``+``digits` `# Printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `for` `i ``in` `x:``    ``test_str ``=` `test_str.replace(i, "")``res ``=` `False``if``(``len``(test_str) ``=``=` `0``):``    ``res ``=` `True` `# Printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : True```

Time Complexity: O(n)
Auxiliary Space: O(n)

Method #5: Using operator.countOf() method

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and Alphabets only``import` `operator as op``# initializing string``test_str ``=` `'Geeks4Geeks'``lowercasealphabets``=``"abcdefghijklmnopqrstuvwxyz"``uppercasealphabets``=``"ABCDEFGHIJKLMNOPQRSTUVWXYZ"``digits``=``"0123456789"` `# printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `res``=``False``al``=``0``dig``=``0``for` `i ``in` `test_str:``    ``if` `( op.countOf(lowercasealphabets.split(),i)>``0``) ``or` `(op.countOf(uppercasealphabets.split(),i)>``0``):``        ``al``+``=``1``    ``elif` `(op.countOf(digits.split(),i)>``0``) :``        ``dig``+``=``1``if``(al``+``dig``=``=``len``(test_str)):``    ``res``=``True``    ` `# printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : False```

Time Complexity: O(n)
Auxiliary Space: O(1)

Method #6:Using itertools.filterfalse() method

## Python3

 `# Python3 code to demonstrate working of``# Test if string contains both Numbers and Alphabets only``import` `itertools` `# initializing string``test_str ``=` `'Geeks4Geeks'` `# printing original string``print``(``"The original string is : "` `+` `str``(test_str))` `# conditional combination for getting result.``res ``=` `list``(itertools.filterfalse(``    ``lambda` `x: (x.isdigit() ``or` `x.isalpha()), test_str))``if``(res):``    ``res ``=` `False``res ``=` `True``# printing result``print``(``"Does string contain both numbers and alphabets only? : "` `+` `str``(res))`

Output

```The original string is : Geeks4Geeks
Does string contain both numbers and alphabets only? : True```

Time Complexity: O(n)
Auxiliary Space: O(N)

My Personal Notes arrow_drop_up