2016-04-30 25 views
1

簡単な質問 - pythonのshlex.splitのように、単純に解析/分割/引用/エスケープシェルのような引用符/バックスラッシュの文字列を許可することができますか?pythonのshlex.splitの代わりにgo

のshlexドキュメントへのリンク:shlex.splitが何をするかの http://docs.python.org/3.4/library/shlex.html

例:標準ライブラリの

>>> import shlex 
>>> shlex.split('abc ab\\ c "ab\\"cd" key="\\"val\\""') 
['abc', 'ab c', 'ab"cd', 'key="val"'] 

答えて

2

何もないが、Googleはフォークと変更された自分のshlexライブラリを公開しました一部はflynn-archive/go-shlexです。例えば

package main 

import (
    "fmt" 
    "github.com/google/shlex" 
) 

func main() { 
    input := "abc ab\\ c \"ab\\\"cd\" key=\"\\\"val\\\"\"" 
    fmt.Println("Processing:", input) 
    tokens, _ := shlex.Split(input) 
    fmt.Printf("%#v\n", tokens) 
    // []string{"abc", "ab c", "ab\"cd", "key=\"val\""} 
} 
関連する問題