我需要用[key]: null
替换(即完全删除)字符串中的任何s = 'a: 1, b: null, c: null, d: 0, e: null, f: 0.3'
。例如:
b: null
所需的输出已删除c: null
,e: null
,'a: 1, d: 0, f: 0.3'
:
s.replace(', ,','')
可以使用null
有干净/健壮的方法吗?当然,密钥名称可能会发生变化,但需要删除值为re
的密钥名称。
我认为out.println()
(正则表达式)包可以提供帮助,但我之前没有使用它。
答案 0 :(得分:3)
答案 1 :(得分:2)
s = 'a: 1, b: null, c: null, d: 0, e: null, f: 0.3'
# split with "," and then ":"
dataList = [d.strip().split(':') for d in s.split(',')]
# check if the tuple's second value is string "null"
dataListFilter = filter(lambda x: x[1].strip() != 'null', dataList)
# join back the results
result = ', '.join(map(lambda x: x[0] + ': ' + x[1], dataListFilter))
print result
<强> SUGGESTION 强>: 对于这种类型的数据,我建议使用比字符串更好的数据结构。如果您可以控制数据,通常哈希(Python词典)就适合。
答案 2 :(得分:1)
s = 'a: 1, b: null, c: null, d: 0, e: null, f: 0.3'
r=''
for e in s.split(','):
if (e.split(':')[1]!=' null'):
r = r+ ',' +e
print (r[1:])