4

私はスクラッチに取り組んでいます-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 に答える