package strings import ( "strings" "unicode/utf8" ) func IndexAnyRunes(s string, rs []rune) int { for _, r := range rs { if i := strings.IndexRune(s, r); i != -1 { return i } } return -1 } func LastIndexAnyRunes(s string, rs []rune) int { for _, r := range rs { i := -1 if 0 <= r && r < utf8.RuneSelf { i = strings.LastIndexByte(s, byte(r)) } else { sub := s for len(sub) > 0 { j := strings.IndexRune(s, r) if j == -1 { break } i = j sub = sub[i+1:] } } if i != -1 { return i } } return -1 }