Remove char at specific index - python

Python

Python Problem Overview


I have a string that has two "0" (str) in it and I want to remove only the "0" (str) at index 4

I have tried calling .replace but obviously that removes all "0", and I cannot find a function that will remove the char at position 4 for me.

Anyone have a hint for me?

Python Solutions


Solution 1 - Python

Use slicing, rebuilding the string minus the index you want to remove:

newstr = oldstr[:4] + oldstr[5:]

Solution 2 - Python

as a sidenote, replace doesn't have to move all zeros. If you just want to remove the first specify count to 1:

'asd0asd0'.replace('0','',1)

Out:

'asdasd0'

Solution 3 - Python

This is my generic solution for any string s and any index i:

def remove_at(i, s):
    return s[:i] + s[i+1:]

Solution 4 - Python

Slicing works (and is the preferred approach), but just an alternative if more operations are needed (but then converting to a list wouldn't hurt anyway):

>>> a = '123456789'
>>> b = bytearray(a)
>>> del b[3]
>>> b
bytearray(b'12356789')
>>> str(b)
'12356789'

Solution 5 - Python

Another option, using list comprehension and join:

''.join([_str[i] for i in xrange(len(_str)) if i  != 4])

Solution 6 - Python

rem = lambda x, unwanted : ''.join([ c for i, c in enumerate(x) if i != unwanted])
rem('1230004', 4)
'123004'

Solution 7 - Python

def remove_char(input_string, index):
    first_part = input_string[:index]
    second_part = input_string[index+1:]
    return first_part + second_part

s = 'aababc'
index = 1
remove_char(s,index)

zero-based indexing

Solution 8 - Python

Try this code:

s = input() 
a = int(input()) 
b = s.replace(s[a],'')
print(b)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiontgunnView Question on Stackoverflow
Solution 1 - PythonMartijn PietersView Answer on Stackoverflow
Solution 2 - PythonrootView Answer on Stackoverflow
Solution 3 - PythonÂngelo PolottoView Answer on Stackoverflow
Solution 4 - PythonJon ClementsView Answer on Stackoverflow
Solution 5 - PythonmclafeeView Answer on Stackoverflow
Solution 6 - Pythonbhupen.chnView Answer on Stackoverflow
Solution 7 - PythonShishirView Answer on Stackoverflow
Solution 8 - PythonHARRY47View Answer on Stackoverflow