Python Strings: Replace, Join, Split, Reverse

โšก Smart Summary

Python strings are immutable sequences of characters with many built-in methods for text processing. The examples below demonstrate slicing, string operators, replace(), upper() and lower(), join(), reversing, and split() using runnable code.

  • ๐Ÿงต Strings as objects: Python treats every string as an object, so methods attach directly to string variables.
  • ๐Ÿ”ค Case conversion: upper(), lower(), and capitalize() reformat letter case without altering the original string.
  • ๐Ÿ”— Join and split: join() glues characters with a separator, while split() breaks text into a list of substrings.
  • ๐Ÿ”’ Immutability: replace() returns a new string because Python strings cannot be changed in place.
  • ๐Ÿค– AI assistance: AI coding assistants generate and explain string methods, speeding up text-processing and NLP preprocessing tasks.

Python Strings Replace Join Split Reverse

In Python, everything is an object, and strings are objects too. A Python string can be created simply by enclosing characters in double quotes.

For example:

var = โ€œHello World!โ€

Accessing Values in Strings

Python does not support a character type; these are treated as strings of length one, also considered as a substring.

We use square brackets for slicing along with the index or indices to obtain a substring.

var1 = "Guru99!"
var2 = "Software Testing"
print ("var1[0]:",var1[0])
print ("var2[1:5]:",var2[1:5])

Output:

var1[0]: G
var2[1:5]: oftw 

Various String Operators

There are various string operators that can be used in different ways, such as concatenating a different string.

Suppose if a=guru and b=99, then a+b= โ€œguru99โ€. Similarly, if you are using a*2, it will give โ€œGuruGuruโ€. Likewise, you can use other operators in a string.

Operator Description Example
[] Slice – it gives the letter from the given index a[1] will give โ€œuโ€ from the word Guru as such ( 0=G, 1=u, 2=r and 3=u)

x="Guru"
print (x[1])
[ : ] Range slice – it gives the characters from the given range x [1:3] it will give โ€œurโ€ from the word Guru. Remember it will not consider 0 which is G, it will consider word after that is ur.

x="Guru" 
print (x[1:3])
in Membership – returns true if a letter exists in the given string u is present in word Guru and hence it will give 1 (True)

x="Guru" 
print ("u" in x)
not in Membership – returns true if a letter does not exist in the given string l is not present in word Guru and hence it will give 1

x="Guru" 
print ("l" not in x)
r/R Raw string suppresses actual meaning of escape characters. Print rโ€™\nโ€™ prints \n and print Rโ€™/nโ€™ prints \n
% โ€“ Used for string format %r โ€“ It inserts the canonical string representation of the object (i.e., repr(o)) %s – It inserts the presentation string representation of the object (i.e., str(o)) %d – it will format a number for display The output of this code will be โ€œguru 99โ€.

name = 'guru'
number = 99
print ('%s %d' % (name,number))
+ It concatenates 2 strings It concatenates strings and gives the result

x="Guru" 
y="99" 
print (x+y)
* Repeat It prints the character twice.

x="Guru" 
y="99" 
print (x*2)

Some more examples

You can update a Python string by re-assigning a variable to another string. The new value can be related to a previous value, or to a completely different string altogether.

x = "Hello World!"
print(x[:6]) 
print(x[0:6] + "Guru99")

Output:

Hello
Hello Guru99

Note: – Slice [:6] or [0:6] has the same effect.

Python String replace() Method

The replace() method returns a copy of the string in which the values of the old string have been replaced with the new value.

oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print(newstring)

Output:

I love Guru99

Changing upper and lower case strings

In Python, you can even change the string to upper case or lower case.

string="python at guru99"
print(string.upper())

Output:

PYTHON AT GURU99

Likewise, you can also use other functions such as capitalize().

string="python at guru99"		
print(string.capitalize())

Output:

Python at guru99

You can also convert your string to lower case.

string="PYTHON AT GURU99"
print(string.lower())

Output:

python at guru99

Using โ€œjoinโ€ function for the string

The join() function is a more flexible way of concatenating a string. With the join() function, you can add any character into the string.

For example, if you want to add a colon (:) after every character in the string โ€œPythonโ€, you can use the following code.

print(":".join("Python"))

Output:

P:y:t:h:o:n

Reversing String

By using the reversed() function, you can reverse the string. For example, if we have the string โ€œ12345โ€ and then apply the code for the reversed() function as shown below.

string="12345"		
print(''.join(reversed(string)))

Output:

54321

Split Strings

Split strings is another function that can be applied in Python. Let us see it for the string โ€œguru99 career guru99โ€. First, here we will split the string by using the command word.split and get the result.

word="guru99 career guru99"		
print(word.split(' '))

Output:

['guru99', 'career', 'guru99']

To understand this better, we will see one more example of split. Instead of a space (โ€˜ โ€™), we will replace it with (โ€˜rโ€™), and it will split the string wherever โ€˜rโ€™ is mentioned in the string.

word="guru99 career guru99"		
print(word.split('r'))

Output:

['gu', 'u99 ca', 'ee', ' gu', 'u99']

Important Note: In Python, strings are immutable.

Consider the following code:

x = "Guru99"
x.replace("Guru99","Python")
print(x)

Output:

Guru99

It will still return Guru99. This is because x.replace(โ€œGuru99โ€,โ€œPythonโ€) returns a copy of X with replacements made.

You will need to use the following code to observe the changes.

x = "Guru99"
x = x.replace("Guru99","Python")
print(x)

Output:

Python

The above codes are Python 3 examples. If you want to run them in Python 2, please consider the following code.

Python 2 Example

#Accessing Values in Strings
var1 = "Guru99!"
var2 = "Software Testing"
print "var1[0]:",var1[0]
print "var2[1:5]:",var2[1:5]
#Some more examples
x = "Hello World!"
print x[:6] 
print x[0:6] + "Guru99"
#Python String replace() Method
oldstring = 'I like Guru99' 
newstring = oldstring.replace('like', 'love')
print newstring
#Changing upper and lower case strings
string="python at guru99"
print string.upper()
string="python at guru99"		
print string.capitalize()
string="PYTHON AT GURU99"
print string.lower()
#Using "join" function for the string
print":".join("Python")		
#Reversing String
string="12345"		
print''.join(reversed(string))
#Split Strings
word="guru99 career guru99"		
print word.split(' ')
word="guru99 career guru99"		
print word.split('r')
x = "Guru99"
x.replace("Guru99","Python")
print x
x = "Guru99"
x = x.replace("Guru99","Python")
print x

Output:

var1[0]: G
var2[1:5]: oftw
Hello
Hello Guru99
I love Guru99
PYTHON AT GURU99
Python at guru99
python at guru99
P:y:t:h:o:n
54321
['guru99', 'career', 'guru99']
['gu', 'u99 ca', 'ee', ' gu', 'u99']
Guru99
Python

Python has introduced a .format() function which does away with using the cumbersome %d and so on for string formatting.

ยป Learn more about Python String split()

FAQs

F-strings are literals prefixed with f that embed variables and expressions inside curly braces. Since Python 3.6 they have been faster and more readable than the percent operator or format() method.

Use strip() to remove leading and trailing whitespace, lstrip() for the left side, and rstrip() for the right. Passing characters, such as strip(‘xy’), removes those specific characters instead of spaces.

The find() method returns the index of the first occurrence of a substring, or -1 when not found. The index() method works the same but raises ValueError if the substring is missing.

The count() method returns how many times a substring appears, for example ‘guru99 guru99’.count(‘guru99’) returns 2. You can also pass optional start and end indices to count within a slice.

Use startswith() and endswith(), which return True or False. Both accept a tuple, so text.startswith((‘http’, ‘https’)) tests several prefixes at once. These checks are case-sensitive, so normalize with lower() first.

The == operator compares string values, returning True when characters match. The is operator compares identity, whether two names point to the same object in memory. For everyday text comparison, always use ==.

AI coding assistants generate string-handling code from plain-language prompts, explain unfamiliar methods, and suggest cleaner alternatives. In machine learning and NLP, operations like split(), lower(), and replace() normalize raw text before it feeds models.

Yes. GitHub Copilot autocompletes methods like replace(), join(), and split() from a comment describing your goal. Agentic AI tools go further, refactoring a whole script โ€” swapping loops for join() or f-strings โ€” then running your tests.

Summarize this post with: