How to check whether a str(variable) is empty or not?
PythonStringConditional StatementsPython Problem Overview
How do I make a:
if str(variable) == [contains text]:
condition?
(or something, because I am pretty sure that what I just wrote is completely wrong)
I am sort of trying to check if a random.choice
from my list is ["",]
(blank) or contains ["text",]
.
Python Solutions
Solution 1 - Python
You could just compare your string to the empty string:
if variable != "":
etc.
But you can abbreviate that as follows:
if variable:
etc.
Explanation: An if
actually works by computing a value for the logical expression you give it: True
or False
. If you simply use a variable name (or a literal string like "hello") instead of a logical test, the rule is: An empty string counts as False, all other strings count as True. Empty lists and the number zero also count as false, and most other things count as true.
Solution 2 - Python
The "Pythonic" way to check if a string is empty is:
import random
variable = random.choice(l)
if variable:
# got a non-empty string
else:
# got an empty string
Solution 3 - Python
Just say if s
or if not s
. As in
s = ''
if not s:
print 'not', s
So in your specific example, if I understand it correctly...
>>> import random
>>> l = ['', 'foo', '', 'bar']
>>> def default_str(l):
... s = random.choice(l)
... if not s:
... print 'default'
... else:
... print s
...
>>> default_str(l)
default
>>> default_str(l)
default
>>> default_str(l)
bar
>>> default_str(l)
default
Solution 4 - Python
Empty strings are False by default:
>>> if not "":
... print("empty")
...
empty
Solution 5 - Python
For python 3, you can use bool()
>>> bool(None)
False
>>> bool("")
False
>>> bool("a")
True
>>> bool("ab")
True
>>> bool("9")
True
Solution 6 - Python
Some time we have more spaces in between quotes, then use this approach
a = " "
>>> bool(a)
True
>>> bool(a.strip())
False
if not a.strip():
print("String is empty")
else:
print("String is not empty")
Solution 7 - Python
element = random.choice(myList)
if element:
# element contains text
else:
# element is empty ''
Solution 8 - Python
> How do i make an: if str(variable) == [contains text]:
condition?
Perhaps the most direct way is:
if str(variable) != '':
# ...
Note that the if not ...
solutions test the opposite condition.
Solution 9 - Python
if the variable contains text then:
len(variable) != 0
of it does not
len(variable) == 0
Solution 10 - Python
use "not" in if-else
x = input()
if not x:
print("Value is not entered")
else:
print("Value is entered")
Solution 11 - Python
{
test_str1 = ""
test_str2 = " "
# checking if string is empty
print ("The zero length string without spaces is empty ? : ", end = "")
if(len(test_str1) == 0):
print ("Yes")
else :
print ("No")
# prints No
print ("The zero length string with just spaces is empty ? : ", end = "")
if(len(test_str2) == 0):
print ("Yes")
else :
print ("No")
}
Solution 12 - Python
string = "TEST"
try:
if str(string):
print "good string"
except NameError:
print "bad string"
Solution 13 - Python
Python strings are immutable and hence have more complex handling when talking about its operations. Note that a string with spaces is actually an empty string but has a non-zero size. Let’s see two different methods of checking if string is empty or not: Method #1 : Using Len() Using Len() is the most generic method to check for zero-length string. Even though it ignores the fact that a string with just spaces also should be practically considered as an empty string even its non-zero.
Method #2 : Using not
Not operator can also perform the task similar to Len(), and checks for 0 length string, but same as the above, it considers the string with just spaces also to be non-empty, which should not practically be true.
Good Luck!