Open In App

# Python | Check if a given string is binary string or not

Given string str. The task is to check whether it is a binary string or not.

Examples:

```Input: str = "01010101010"
Output: Yes

Input: str = "geeks101"
Output: No```

### Approach 1: Using Set

1. Insert the given string in a set
2. Check if the set characters consist of 1 and/or 0 only.

Example:

## Python3

 `# Python program to check``# if a string is binary or not` `# function for checking the``# string is accepted or not`  `def` `check(string):` `    ``# set function convert string``    ``# into set of characters .``    ``p ``=` `set``(string)` `    ``# declare set of '0', '1' .``    ``s ``=` `{``'0'``, ``'1'``}` `    ``# check set p is same as set s``    ``# or set p contains only '0'``    ``# or set p contains only '1'``    ``# or not, if any one condition``    ``# is true then string is accepted``    ``# otherwise not .``    ``if` `s ``=``=` `p ``or` `p ``=``=` `{``'0'``} ``or` `p ``=``=` `{``'1'``}:``        ``print``(``"Yes"``)``    ``else``:``        ``print``(``"No"``)`  `# driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``string ``=` `"101010000111"` `    ``# function calling``    ``check(string)`

Output

`Yes`

Time Complexity: O(n), Here n is the length of the string.
Auxiliary Space: O(1), As constant extra space is used.

### Approach 2: Simple Iteration

1. Iterate for every character and check if the character is 0 or 1.
2. If it is not then set a counter and break.
3. After iteration check whether the counter is set or not.

## Python3

 `# Python program to check``# if a string is binary or not` `# function for checking the``# string is accepted or not`  `def` `check2(string):` `    ``# initialize the variable t``    ``# with '01' string``    ``t ``=` `'01'` `    ``# initialize the variable count``    ``# with 0 value``    ``count ``=` `0` `    ``# looping through each character``    ``# of the string .``    ``for` `char ``in` `string:` `        ``# check the character is present in``        ``# string t or not.``        ``# if this condition is true``        ``# assign 1 to the count variable``        ``# and break out of the for loop``        ``# otherwise pass``        ``if` `char ``not` `in` `t:``            ``count ``=` `1``            ``break``        ``else``:``            ``pass` `    ``# after coming out of the loop``    ``# check value of count is non-zero or not``    ``# if the value is non-zero the en condition is true``    ``# and string is not accepted``    ``# otherwise string is accepted``    ``if` `count:``        ``print``(``"No"``)``    ``else``:``        ``print``(``"Yes"``)`  `# driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``string ``=` `"001021010001010"` `    ``# function calling``    ``check2(string)`

Output

`No`

Time Complexity: O(n), Here n is the length of the string.
Auxiliary Space: O(1), As constant extra space is used.

### Approach 3: Regular Expressions

1. Compile a regular expression using compile() for “character is not 0 or 1”.
2. Use re.findall() to fetch the strings satisfying the above regular expression.
3. Print output based on the result.

## Python3

 `#import library``import` `re` `sampleInput ``=` `"1001010"` `# regular expression to find the strings``# which have characters other than 0 and 1``c ``=` `re.``compile``(``'[^01]'``)` `# use findall() to get the list of strings``# that have characters other than 0 and 1.``if``(``len``(c.findall(sampleInput))):``    ``print``(``"No"``) ``# if length of list > 0 then it is not binary``else``:``    ``print``(``"Yes"``) ``# if length of list = 0 then it is binary`

Output

`Yes`

Time complexity: O(n)
Auxiliary space: O(1)

Approach 4: Using exception handling and int

Python has a built in method to convert a string of a specific base to a decimal integer, using int(string, base). If the string passed as an argument is not of the specified base, then a ValueError is raised.

## Python3

 `# Python program to check``# if a string is binary or not` `# function for checking the``# string is accepted or not`  `def` `check(string):``    ``try``:``        ``# this will raise value error if``        ``# string is not of base 2``        ``int``(string, ``2``)``    ``except` `ValueError:``        ``return` `"No"``    ``return` `"Yes"`  `# driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``string1 ``=` `"101011000111"``    ``string2 ``=` `"201000001"` `    ``# function calling``    ``print``(check(string1))``    ``print``(check(string2))`  `# this code is contributed by phasing17`

Output

```Yes
No```

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

## Python3

 `string ``=` `"01010101010"``if``(string.count(``'0'``)``+``string.count(``'1'``)``=``=``len``(string)):``    ``print``(``"Yes"``)``else``:``    ``print``(``"No"``)`

Output

`Yes`

Time Complexity: O(n), where n is number of characters in string.
Auxiliary Space: O(1)

## Python3

 `#Python program to check string is binary or not``string ``=` `"01010121010"``binary``=``"01"``for` `i ``in` `binary:``    ``string``=``string.replace(i,"")``if``(``len``(string)``=``=``0``):``    ``print``(``"Yes"``)``else``:``    ``print``(``"No"``)`

Output

`No`

### Approach 7: Using all()

The all() method in Python3 can be used to evaluate if all the letters in the string are 0 or 1.

## Python3

 `# Python program to check``# if a string is binary or not` `# function for checking the``# string is accepted or not`  `def` `check(string):``    ``if` `all``((letter ``in` `"01"``) ``for` `letter ``in` `string):``        ``return` `"Yes"``    ``return` `"No"`  `# driver code``if` `__name__ ``=``=` `"__main__"``:` `    ``string1 ``=` `"101011000111"``    ``string2 ``=` `"201000001"` `    ``# function calling``    ``print``(check(string1))``    ``print``(check(string2))`  `# this code is contributed by phasing17`

Output

```Yes
No```

Time Complexity: O(n), Here n is the length of the string.
Auxiliary Space: O(1), As constant extra space is used.

Approach 8: Using issubset() method

We can use a issubset method in comprehension to check if all characters in the string are either 0 or 1.

## Python3

 `def` `is_binary_string(s):``    ``# use set comprehension to extract all unique characters from the string``    ``unique_chars ``=` `{c ``for` `c ``in` `s}``    ``# check if the unique characters are only 0 and 1``    ``return` `unique_chars.issubset({``'0'``, ``'1'``})` `# driver code``if` `__name__ ``=``=` `"__main__"``:``  ` `    ``string1 ``=` `"101011000111"``    ``string2 ``=` `"201000001"``  ` `    ``# function calling``    ``print``(is_binary_string(string1))``    ``print``(is_binary_string(string2))`

Output

```True
False```

Time complexity: O(n), where n is the length of the input string, and
Auxiliary space: O(1).

### Method: Using re.search()

1. Import the re module.
2. Define a regular expression that matches any character other than ‘0’ and ‘1’.
3. Use the re.search() method to search for the regular expression in the given string.
4. If a match is found, then the given string is not a binary string. Otherwise, it is.

## Python3

 `import` `re` `def` `is_binary_string(``str``):``    ``# Define regular expression``    ``regex ``=` `r``"[^01]"``    ` `    ``# Search for regular expression in string``    ``if` `re.search(regex, ``str``):``        ``return` `False``    ``else``:``        ``return` `True` `#Examples``print``(is_binary_string(``"01010101010"``))   ``# Output: Yes``print``(is_binary_string(``"geeks101"``))   ``# Output: No`

Output

```True
False```

Time Complexity: O(n), where n is the length of the given string (as we are iterating over the string once).

Auxiliary Space: O(1)