247043: illegal character code U+001F при работе с xml?
Сам файл - экспорт записей из wordpress, никаких лишних символов не должно быть.
В файле на искомой строке никаких лишних символов не вижу https://prnt.sc/1t3km7h
Что сделать можно?
Вот этот символ
пытался найти его через поиск в notepad++ в файле - не нашел
LF на скрине разве не он ?
это перенос строки
Можете это попробовать? https://play.golang.org/p/39yWgnnRPXr Похоже, что это удаляет непечатаемые символы, в том числе Ваш invisibleChars = strings.TrimFunc(invisibleChars, func(r rune) bool { return !unicode.IsGraphic(r) })
оно же только по краям может удалить не печатные символы, а у меня в контенте. Но всё равно спасибо, буду копать сюда
!unicode.IsGraphic(r)
а? strings.TrimFunc удаляет символы по краям строки
а если так? https://play.golang.org/p/Nrcfu2-ViAP
так заработало, спасибо
Вообще, для тех же целей подошло бы и strings.Map.
Тоже добавлю, как говорится с миру по нитке)
Вы имеете ввиду так? https://play.golang.org/p/DS3Lok6X734
чтобы удалить, надо -1 вернуть
xmlStr = strings.Map(func(w rune) rune { if unicode.IsGraphic(w) { return w } else { return -1 } }, xmlStr)
Спасибо, а почему ноль не подходит?
тут написано -1) https://golang-blog.blogspot.com/2020/09/strings-map-repeat-replace.html
В исходнике тоже пишут про негативное число и по ссылке идет проверка >=0, значит лучше -1 возвращать https://github.com/golang/go/blob/56c3856d529d72e280ad6b185f7927657de86c37/src/strings/strings.go#L483
Обсуждают сегодня