Drill

ProblemsGo › text

Hide most of an email address

easytextStringsParsingGo

A support screen shows enough of the address for an agent to recognise it, without putting the whole thing on screen.

maskEmail(address: string) → string

Go needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

func maskEmail(address string) string {
	
}

Worked examples

CallResult
maskEmail("ahmet@example.com")"a****@example.com"
maskEmail("a@b.com")"a@b.com"
maskEmail("noatsign")"noatsign"
maskEmail("@x.com")"@x.com"

Hint

Find the @ first. Everything follows from where it is.

Reference solution in Go
func maskEmail(address string) string {
	at := strings.IndexByte(address, '@')
	if at <= 0 {
		return address
	}
	return address[:1] + strings.Repeat("*", at-1) + address[at:]
}

The same problem in another language

More text problems in Go