github.com/TrueBlocks/trueblocks-core/src/apps/chifra@v0.0.0-20241022031540-b362680128f7/pkg/file/filename.go (about) 1 package file 2 3 import "strings" 4 5 // ValidFilename returns a valid filename from the input string 6 func ValidFilename(in string, noSpaces bool) string { 7 invalidChars := []string{ 8 "\n", "\r", "\t", "/", "\\", ":", "*", "?", "'", "\"", 9 "<", ">", "|", "(", ")", "[", "]", "{", "}", 10 } 11 if noSpaces { 12 invalidChars = append(invalidChars, " ") 13 } 14 15 for _, char := range invalidChars { 16 in = strings.ReplaceAll(in, char, "_") 17 } 18 in = strings.TrimSpace(in) 19 in = strings.Trim(in, "_") 20 in = strings.ReplaceAll(in, "__", "_") 21 return in 22 }