Назад к вопросам
Intern
9
/** :-))) :-(( "ab :-)" = "ab " "ab :-)))" = "ab " "ab :-)))(" = "ab (" "ab ):-)" = "ab )" ":-)" = "" **/ func deleteP(str string) string { }
Компании, где спрашивали
Яндекс
Ответ от нейросети
sobes.tech AI
Функция должна удалить из строки все вхождения смайликов в формате ":-)" с любым количеством ")" после двоеточия и дефиса, например ":-)", ":-)))" и т.п. При этом если после смайлика идёт символ "(", он остаётся.
Реализация на Go с использованием регулярных выражений:
import (
"regexp"
)
func deleteP(str string) string {
re := regexp.MustCompile(`:-\)+`)
return re.ReplaceAllString(str, "")
}
Пример:
fmt.Println(deleteP(":-)))")) // ""
fmt.Println(deleteP("ab :-)")) // "ab "
fmt.Println(deleteP("ab :-)))(")) // "ab ("
fmt.Println(deleteP("ab ):-)")) // "ab )"