navidrome/utils/strings.go

35 lines
575 B
Go
Raw Normal View History

2016-02-29 19:56:09 +01:00
package utils
import (
2016-03-02 19:18:39 +01:00
"strings"
2016-03-24 14:51:50 +01:00
2017-04-01 15:47:14 +02:00
"github.com/cloudsonic/sonic-server/conf"
2016-02-29 19:56:09 +01:00
)
func NoArticle(name string) string {
2017-04-01 15:47:14 +02:00
articles := strings.Split(conf.Sonic.IgnoredArticles, " ")
2016-02-29 19:56:09 +01:00
for _, a := range articles {
2016-03-02 19:18:39 +01:00
n := strings.TrimPrefix(name, a+" ")
if n != name {
2016-02-29 19:56:09 +01:00
return n
}
}
return name
}
2016-03-24 14:51:50 +01:00
func LongestCommonPrefix(list []string) string {
if len(list) == 0 {
return ""
}
for l := 0; l < len(list[0]); l++ {
c := list[0][l]
for i := 1; i < len(list); i++ {
if l >= len(list[i]) || list[i][l] != c {
return list[i][0:l]
}
}
}
return list[0]
}