4

我正在研究 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

任何建议都收到了:)

西蒙

4

1 回答 1

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'
于 2013-07-08T19:34:24.143 回答