2013-01-08 95 views
2

如何在Node.js中執行以下操作?我意識到這可能沒有內建功能或書寫模塊,那麼我該如何實現?用於Node.js的Shlex Split等價物

>>> import shlex 
>>> shlex.split("-a arga -b \"argument b\" arg1 arg2") 
['-a', 'arga', '-b', 'argument b', 'arg1', 'arg2'] 

回答

2

我假設你已經搜查http://npmjs.org(無論是搜索,或瀏覽shell關鍵字),而不是僅僅假設沒有這樣的事情存在。舉個簡單的例子,像shell-quote這樣的各種軟件包似乎可以做你想做的,而其他的如nshell似乎可能依賴類似於shlex的庫,或者在內部具有等價的代碼,但我沒有真正看過其中任何一個細節,所以我願意接受,沒有什麼可以使用的。

讓所有的細節正確是很複雜的。但幸運的是,Python的shlex.splitsource code是用純Python編寫的,而且是合理可讀的。所以,你應該能夠移植它。

如果你這樣做,你應該最好也能同時建立一個良好的測試套件,併發布爲npm包,以便下一次別人看起來,它http://npmjs.org存在。