Files
go-lcg/config/filename.go

29 lines
716 B
Go

package config
import "strings"
// SafeFileName делает строку безопасной для использования в имени файла:
// недопустимые символы (включая "/" из формата моделей поставщик/имя) заменяются на "-",
// пустой результат заменяется на "unknown".
func SafeFileName(s string) string {
replacer := strings.NewReplacer(
"/", "-",
"\\", "-",
":", "-",
"*", "-",
"?", "-",
"\"", "-",
"<", "-",
">", "-",
"|", "-",
"\n", "-",
"\r", "-",
"\t", "-",
)
result := strings.TrimSpace(replacer.Replace(s))
if result == "" {
return "unknown"
}
return result
}