Sha256: e63a833e393813c086d72fffb2e6501eee69d0f7d8d76a7274c030ebd6a18b8b
Contents?: true
Size: 473 Bytes
Versions: 138
Compression:
Stored size: 473 Bytes
Contents
package igpay import ( "regexp" "strings" ) var vowel = regexp.MustCompile(`^([aeiou]|y[^aeiou]|xr)[a-z]*`) var cons = regexp.MustCompile(`^([^aeiou]?qu|[^aeiou]+)([a-z]*)`) func PigLatin(s string) string { sw := strings.Fields(s) for i, w := range sw { l := strings.ToLower(w) if vowel.MatchString(l) { sw[i] = l + "ay" } else if x := cons.FindStringSubmatchIndex(l); x != nil { sw[i] = l[x[3]:] + l[:x[3]] + "ay" } } return strings.Join(sw, " ") }
Version data entries
138 entries across 138 versions & 1 rubygems