mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-14 19:20:37 +03:00
47 lines
744 B
Go
47 lines
744 B
Go
package str
|
||
|
||
import (
|
||
"strings"
|
||
|
||
"github.com/navidrome/navidrome/conf"
|
||
)
|
||
|
||
func Clear(name string) string {
|
||
r := strings.NewReplacer(
|
||
"–", "-",
|
||
"‐", "-",
|
||
"“", `"`,
|
||
"”", `"`,
|
||
"‘", `'`,
|
||
"’", `'`,
|
||
)
|
||
return r.Replace(name)
|
||
}
|
||
|
||
func NoArticle(name string) string {
|
||
articles := strings.Split(conf.Server.IgnoredArticles, " ")
|
||
for _, a := range articles {
|
||
n := strings.TrimPrefix(name, a+" ")
|
||
if n != name {
|
||
return n
|
||
}
|
||
}
|
||
return name
|
||
}
|
||
|
||
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]
|
||
}
|