使用str.split
對"print 'Hello, world!' times 3"
返回列表["print", "'Hello,", "world!'", "times", "3"]
。但是,我想要結果["print", "'Hello, world!'", "times", "3"]
。我怎樣才能做到這一點?包含字符串文字的令牌線
2
A
回答
1
這個正則表達式會捕獲報價,如果你想要它們。
import re
s = "print 'hello, world!' 3 times"
re.findall(r'(\w+|\'.+\')',s)
+0
不需要修改這一個;它工作完美。非常感謝你 :) –
3
如果你要排除的報價的話了分裂的,你可以使用shlex.split
:
import shlex
s = "print 'Hello, world!' times 3"
print(shlex.split(s))
# ['print', 'Hello, world!', 'times', '3']
+2
我會建議str.split(「'」),它保留了單引號,並且還有更多的工作要做......但這看起來更好看 –
+0
哇,非常有用的功能!這可以很容易地修改,以處理重新添加引號(如果s包含''然後s ='''+ s +'「'),這樣就完美地回答了我的問題。謝謝! –
0
相關問題
- 1. 如果字符串中包含點,xmldoc.selectnodes中的令牌無效
- 2. 包含字符串文字的Doctests
- 3. 令牌化文件中的字符串
- 4. 字符串令牌化
- 5. 分割字符串/令牌
- 6. 令牌化字符串C
- 7. 字符串包含
- 8. 包含字符串
- 9. 字符串在C中包含字符串++的文本文件
- 10. Android Studio:線包字符串文字
- 11. 替換包含$字符的字符串
- 12. 檢查字符串包含的字符
- 13. 包含字符串的Cookie;
- 14. 的Makefile:包含字符串
- 15. 如何定義包含非ASCII字符的字符串文字?
- 16. SELECT查詢字符串包含'%'字符
- 17. 字符串包含無效字符?
- 18. 檢查字符串包含Unicode字符
- 19. 字符串包含引號字符( ')
- 20. Preapre字符串包含特殊字符
- 21. bash命令輸出包含特定字符串的文件名
- 22. java中的字符串令牌化
- 23. 獲取字符串中的令牌塊
- 24. 字符串內的註釋令牌
- 25. 令牌化C中的字符串
- 26. javax.mail.internet.AddressException:域包含字符串
- 27. array_key_exists包含字符串
- 28. Xpath包含字符串
- 29. SQL字符串只包含
- 30. 當字符串包含「* /」
*「這很明顯,這不是理想的結果」 - 對你來說,也許。對我來說看起來很好,假設你所做的全部是空間分割。此外,這是一個集合,而不是一個列表,所以訂單不能保證。 – jonrsharpe
正則表達式是你的鑰匙 –
@NeilGatenby對不起,意思是'foo.split()'...新來的Python,仍然記憶功能:) –