mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2026-11-09 08:56:39 +00:00
29 lines
716 B
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
|
|
}
|