Strings in Python

Generally, anything that changes a string will be a method on the str class, rather than a built-in function like len(), as such it will use dot notation

  • Strings are immutable: string operations produce a new string.
# Working with Strings

my_variable = 'Bob'
print(my_variable)
# Bob

my_variable = "Eloise"
print(my_variable)
# Eloise

# A multi line string
my_variable = """
Hello
  World
"""
print(my_variable)
"""
Hello
  World
"""

my_string = 'Hello World'
print(len(my_string))
# 11

string_1 = 'Good'
string_2 = " day"
string_3 = string_1 + string_2
print(string_3)
# Good day

msg = 'Hello Lloyd you are ' + str(21)
print(msg)
# Hello Lloyd you are 21

# Range of String operations
msg = 'Hello World'
print(msg.replace("Hello", "Goodbye"))
# Goodbye World

print('Edward Alan Rawlings'.find('Alan'))
# 7

print('Edward John Rawlings'.find('Alan'))
# -1

print('James' == 'James') # prints True
print('James' != 'John') # prints True

print("msg.startswith('H')", msg.startswith('H'))
# msg.startswith('H') True

print("msg.endswith('d')", msg.endswith('d'))
# msg.endswith('d') TRUE

print('some_string.upper()', msg.upper())
# some_string.upper() HELLO WORLD

print('sub string: ', 'Hello-World'[1:5])
# sub string: ello

# String interpolation
user_age = input("Please enter your age: ")
print(f'You are {user_age}')

str.split()

The split() function in Python is used to divide a string into multiple parts at the occurrence of a given separator. This function returns a list of substrings.

General syntax

str.split(separator, maxsplit)
  • The separator is optional. It specifies the separator to use when splitting the string. If no separator is provided, it will default to using whitespace.

  • maxsplit is also optional and specifies how many splits to do. Default value is -1, which is “all occurrences”.

Examples


text = "Hello world, how are you?"

# Default usage:
x = text.split()
print(x)
# ['Hello', 'world', 'how', 'are', 'you?']

# Using a specific separator
x = text.split(",")
print(x)
# ['Hello', 'world how are you?']

# Specifiying a maxplit value
x = text.split(" ", 1)
print(x)
# ['Hello']