Sobes.tech
Back to questions
Intern
8

/** :-))) :-(( "ab :-)" = "ab " "ab :-)))" = "ab " "ab :-)))(" = "ab (" "ab ):-)" = "ab )" ":-)" = "" **/ func deleteP(str string) string { }

Companies where asked
Яндекс

Answer from AI

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 )"