There are several ways to add new characters to a string in Python:
Slicing a string to insert new characters
The first method for inserting characters into a string is slicing. This involves taking a substring from the original string and replacing it with a new one. For example, if you have the following string:
s = '20190807'
To separate the year, month, and day, we would like to use underscores (_):
year = s[0:4]
month = s[4:6]
day = s[6:8]
Then using a python string literals:
new_s = f'{year}_{month}_{day}'
print( new_s )
returns
2019_08_07
Another example involves converting a string into integers for the year, month, and day. After that, a new string is created using a format:
year = int( s[0:4] )
month = int( s[4:6] )
day = int( s[6:8] )
new_s = '{:04}_{:02}_{:02}'.format(year,month,day)
print( new_s )
also returns
2019_08_07
Using a list and join()
An alternative way to add new characters to a list is by converting a string into a list using the insert() method, and then using the join() method to convert the list back into a string.
s = '20190807'
l = [i for i in s]
l.insert(4,'_')
l.insert(7,'_')
''.join(l)
gives
2019_08_07
Using regular expression
import re
s = 'd20190807_start1834_end1856'
m = re.search('d(.*)_start(.*)_end(.*)', s)
new_s = f'{m.group(1)}_{m.group(2)}_{m.group(3)}'
print( new_s )
returns
'20190807_1834_1856'
Replacing a specific word in a string
s = "Hello, how are you ?"
You can replace “hello” with “hi” like this:
new_s = s.replace("Hello", "Hi")
print(new_s)
This will result in the string 'Hi, how are you ?'. Note that you need to use both the string method replace() and specify the two strings as arguments for it to work properly.
Concatenate two or multiple strings
Concatenation is the process of combining two strings together. To use this method, use the plus (+) operator to add the two strings together, like so:
s1 = "Hello"
s2 = ", how are you ?"
s3 = s1 + s2
print(s3)
This will result in the new string,
Hello, how are you ?
Note that you need to use quotes around any text strings.
References
Links | Site |
---|---|
Fancier Output Formatting | docs.python.org |
replace | docs.python.org |