在下面显示的情况下替换值时,Python的行为似乎不一致(使用python 3.6.5)
>>> emptyString = ' '
>>> emptyString.strip().replace('','0') #produces expected results
'0'
>>> notEmptyString = ' 50 '
>>> notEmptyString.strip().replace('','0') #expected '50'
'05000'
>>> shortString = notEmptyString.strip()
>>> shortString #results as expected
'50'
>>> shortString.replace('','0') #unexpected results - expected '50'
'05000'
Run Code Online (Sandbox Code Playgroud)
这是我想看到的:
- 如果string有一个值,只需strip()前导和尾随空格.
- 如果string为空(即"")或string只是空白字符(即""),则将其删除为""并将""替换为"0"
示例#1 ... string ="10"....然后只删除前导和尾随空格
Example#2 ... string =''....然后转换为'0'
我可以通过其他方式获得我想要的结果,但我想知道是否有人理解为什么python会产生这些结果.