2014-03-03 62 views
3

如果有任何方法可以將字符串拆分爲字符串數組,那麼當您將一個符文數組作爲分隔符時?有一個例子我想:如何通過符文陣列在GO中分割字符串?

seperators = {' ',')','('} 
SomeFunction("my string(qq bb)zz",seperators) => {"my","string","qq","bb","zz"} 

回答

10

例如,

package main 

import (
    "fmt" 
    "strings" 
) 

func split(s string, separators []rune) []string { 
    f := func(r rune) bool { 
     for _, s := range separators { 
      if r == s { 
       return true 
      } 
     } 
     return false 
    } 
    return strings.FieldsFunc(s, f) 

} 

func main() { 
    separators := []rune{' ', ')', '('} 
    s := "my string(qq bb)zz" 
    ss := split(s, separators) 
    fmt.Printf("%q\n", s) 
    fmt.Printf("%q\n", ss) 
} 

輸出:

"my string(qq bb)zz" 
["my" "string" "qq" "bb" "zz"] 
+0

非常酷!我不知道這種方法存在。 – Lander