我正在使用Scratch - Python处理程序,基本上可以在解析大师的帮助下完成:)
我正在尝试处理不太正确的输入(我的Scratch程序员可能只有7岁,所以我的处理程序应该接收这样的字符串
"motor1" "12.5" "motor2" 80 "sonar8" "Pin11On"
但是当Scratch已经包含额外的“围绕变量/名称值并带有空格
时,它们很容易就会像这样结束"motor 1" "12.345 " "motor2" 80 "sonar 8" "Pin 11 On"
我正在寻找的是上面的代码并返回一个新的字符串
motor1 12.345 motor2 80 sonar8 Pin11On
任何建议都很受欢迎:)
西蒙
答案 0 :(得分:4)
In [52]: text = '"motor 1" "12.345 " "motor2" 80 "sonar 8" "Pin 11 On"'
In [53]: import shlex
In [54]: shlex.split(text)
Out[54]: ['motor 1', '12.345 ', 'motor2', '80', 'sonar 8', 'Pin 11 On']
In [55]: [item.replace(' ','') for item in shlex.split(text)]
Out[55]: ['motor1', '12.345', 'motor2', '80', 'sonar8', 'Pin11On']
In [56]: ' '.join([item.replace(' ','') for item in shlex.split(text)])
Out[56]: 'motor1 12.345 motor2 80 sonar8 Pin11On'