拿到题目,第一考虑就是将输入字串按空格拆分,但是双引号中的空格又不能拆分,那么是否可以考虑将双引号中的空格替换为其他字符后再拆分,拆分完成后再将被替换的空格恢复? 答案并不严谨,以通过用例为目的......
while True:
try:
s = input()
new_s = '' # 定义新字符串
flag = False # 设置标志,当遇到引号时标志改变
for i in s:
if i == '"': # 遇到引号,标志改变
flag = not flag
if flag: # 已经遇到引号,说明此时i必然在引号内
if i == ' ': # 当i为空格时,此处将空格替换为'0'
i = '0'
new_s += i
else:
new_s += i
else:
new_s += i
lst = new_s.split(' ') # 将新的字符串用空格分割
print(len(lst))
for i in lst:
print(i.replace('0', ' ').replace('"', '')) # 将被替换为0的空格复原,注意输出中参数不带引号
except:
break