2013-07-08 28 views
4

我工作的一個劃痕 - Python的處理程序,並基本上都能以解析大師:)如何我分析問題的字符串

我正在試圖處理輸入是不完全正確的幫助下做(我的劃痕程序員可以年僅7所以我的投手應該收到這樣

"motor1" "12.5" "motor2" 80 "sonar8" "Pin11On" 

字符串,但他們可以很容易地結束這樣的時候產生的擦傷他們

已結束額外「周圍的變量/名稱值用空格
"motor 1" "12.345 " "motor2" 80 "sonar 8" "Pin 11 On" 

我在尋找什麼是代碼採取以上,並返回一個新字符串

motor1 12.345 motor2 80 sonar8 Pin11On 

任何建議大受接待:)

西蒙

回答

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' 
+0

優秀的 - 非常感謝:) – SimpleSi