Wednesday 14 June 2017

How to delete a character from a string using Python



There is a string, for example. EXAMPLE.




How can I remove the middle character, i.e., M from it? I don't need the code. I want to know:




  • Do strings in Python end in any special character?

  • Which is a better way - shifting everything right to left starting from the middle character OR creation of a new string and not copying the middle character?


Answer



In Python, strings are immutable, so you have to create a new string. You have a few options of how to create the new string. If you want to remove the 'M' wherever it appears:




newstr = oldstr.replace("M", "")


If you want to remove the central character:



midlen = len(oldstr)/2   # //2 in python 3
newstr = oldstr[:midlen] + oldstr[midlen+1:]


You asked if strings end with a special character. No, you are thinking like a C programmer. In Python, strings are stored with their length, so any byte value, including \0, can appear in a string.



No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...