How to remove a specific character from the string?

Hello, I am new in the programming and trying to resolve an issue. How can I remove a character from the string based on the given position? I have a string “abcdabfga” and I only need to remove a on position 4, how can I do that in the Go? I tried using strings.Replace but that didn’t work since it removed all "a"s from the string.

I think you should try slicing the string into the part before the character you want to remove and then the part after the character you want to remove.

If you want to remove the byte at the 4th index from a string, then first slice the string up to that byte:

const s = "abcdabfga"

func main() {
  a = s[:4]  // a = "abcd"
}

Then get the part after that byte:

b := s[5:]  // b = "bfga"

And then concatenate the result: removed := a + b

https://play.golang.org/p/uAwS73J2wXM

Note that:

  1. This removes bytes from strings. If your string has characters that are encoded as multiple bytes in UTF-8, then slicing single bytes out will produce undesired results. Let us know if you need to support that.
  2. If you need to remove multiple bytes at multiple indexes, there is a more efficient way to do that, too!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.