I am new to python and i want to append a smaller string to a bigger string at a position defined by me. For example, have a string aaccddee. Now i want to append string bb to it at a position which would make it aabbccddee. How can I do it? Thanks in advance!
            Asked
            
        
        
            Active
            
        
            Viewed 362 times
        
    3
            
            
         
    
    
        hnvasa
        
- 830
- 4
- 13
- 26
- 
                    http://stackoverflow.com/questions/4022827/how-to-insert-some-string-in-the-given-string-at-given-index-in-python This should help explain. – Coding Orange Dec 20 '14 at 04:54
5 Answers
2
            
            
        String is immutable, you might need to do this:
strA = 'aaccddee'
strB = 'bb'
pos = 2
strC = strA[:pos]+strB+strA[pos:]  #  get aabbccddee  
 
    
    
        Paul Lo
        
- 6,032
- 6
- 31
- 36
1
            
            
        There are various ways to do this, but it's a tiny bit fiddlier than some other languages, as strings in python are immutable. This is quite an easy one to follow
First up, find out where in the string c starts at:
add_at = my_string.find("c")
Then, split the string there, and add your new part in
new_string = my_string[0:add_at] + "bb" + my_string[add_at:]
That takes the string up to the split point, then appends the new snippet, then the remainder of the string
 
    
    
        Gagravarr
        
- 47,320
- 10
- 111
- 156
1
            You can slice strings up as if they were lists, like this:
firststring = "aaccddee"
secondstring = "bb"
combinedstring = firststring[:2] + secondstring + firststring[2:]
print(combinedstring)
There is excellent documentation on the interwebs.
 
    
    
        Tony
        
- 1,645
- 1
- 10
- 13
1
            
            
        try these in a python shell:
string = "aaccddee"
string_to_append = "bb"
new_string = string[:2] + string_to_append + string[2:]
you can also use a more printf style like this:
string = "aaccddee"
string_to_append = "bb"
new_string = "%s%s%s" % ( string[:2], string_to_append, string[2:] )
 
    
    
        macguru2000
        
- 2,042
- 2
- 18
- 27
- 
                    sorry i did not mark the answer down...i do not even have permission to upvote or downvote...! – hnvasa Dec 20 '14 at 05:18
- 
                    Thanks for the honesty @hnvasa. I feel like it was one of the other answerers, but have no real idea. – macguru2000 Dec 20 '14 at 05:21
0
            
            
        Let say your string object is s=aaccddee. The you can do it as:
s = s[:2] + 'bb' + s[2:]
 
    
    
        Amit Sharma
        
- 1,987
- 2
- 18
- 29