如何检查空字符串?

我正在读取一个简单的文本文件,该文件将包含三组字符串值
详情如下:
"1234567","ABC123456",""
我的代码如下,试图检查空字符串,输入字符串如上,我永远不能让它显示"Testd is Empty",知道为什么测试失败吗?:

选择 | 换行 | 行号
  1. FileData = open(filename, "r")
  2. Filecontents = FileData.readline().strip()
  3. FileData.close()
  4.  
  5. testid = FileContents.split(",")[2]
  6. if (testid == ""):
  7.    print "testid is empty"
  8. else:
  9.    print "testid has value"
# 回答1


我不确定,但首先你应该把它放在代码括号中,当你发帖时。
你为什么要把它脱两次?也许我错了,但我认为你应该脱掉它一次。
除此之外,我不知道,也许更有经验的人可以回答这个问题。
# 回答2


你是正确的。您可以使用
#
按钮进入增强模式。谢谢你的投入。
# 回答3


这是一个非常好的问题,因为:
>testStr="您好,世界,"
>testList=testStr.plit(",")
>测试列表
['你好','世界','']
>测试列表[2]==""
千真万确
>>>
追踪这些东西的最好方法是像我在这里所做的那样制作大量的委托,并在您进行时打印它们。
寻找一个空的
# 回答4


最好是显示文件内容的样例。
是这样的吗?:

选择 | 换行 | 行号
  1. "1234567", "ABC123456", ""
  2.  

如果是,则当您读取文件并将其拆分时,双引号""将是字符串类型,其长度为2。空字符串的长度应为0。您还可以检查len(Testd)==0是否为空字符串。
此外,您还可以放置一些打印语句,以便调试代码

选择 | 换行 | 行号
  1. ....
  2. testid = FileContents.split(",")[2]
  3. print "testid value " , testid , type(testid), "length" , len(testid)
  4. ....
  5.  
# 回答5


我以交互方式完成此操作,作为从文件中读取以下文字字符串的示例:

选择 | 换行 | 行号
  1. "1234567", "ABC123456", ""
选择 | 换行 | 行号
  1. >>> s = raw_input()
  2. >>> s
  3. '"1234567", "ABC123456", ""'
  4. >>> sList = s.replace('"', '').split(', ')
  5. >>> sList
  6. ['1234567', 'ABC123456', '']
  7. >>> sList[2]
  8. ''
  9. >>> len(sList[2])
  10.  
  11. >>> 

好建议,幽灵狗。

# 回答6


检查它是否空的最简单的方法很简单:

选择 | 换行 | 行号
  1. _string = ""
  2.  
  3. if len(_string) <= 0:
  4.   print "Empty String"
  5. else:
  6.   print "Not Empty String"
  7.  
  8. Output:
  9.   Empty String
  10.  
# 回答7


即使是摩尔人最简单的方法也是简单地做

选择 | 换行 | 行号
  1. string = ""
  2.  
  3. if string:
  4.     do stuff
  5.  

将不会执行填充操作,因为空字符串为FALSE

选择 | 换行 | 行号
  1. >>> s = ""
  2. >>> if s:
  3.     print "a"
  4.  
  5.  
  6. >>>
  7. >>> bool("")
  8. False
  9. >>> bool("a")
  10. True
  11. >>> 

顺便说一句,哇,尸检,就像老板一样。

标签: python

添加新评论