String Manipulation
What is string manipulation?
- String manipulation is the use of programming techniques to modify, analyse or extract information from a string
- Examples of string manipulation include:
- Case conversion (modify)
- Length (analyse)
- Substrings (extract)
- Concatenation (modify)
- ASCII conversion (analyse)
Case conversion
- The ability to change a string from one case to another, for example, lower case to upper case
Function | OCR exam reference | Python | Output |
Uppercase |
|
|
"SARAH" |
Lowercase |
|
|
"sarah" |
Title case |
|
|
"Inspector Calls" |
Length
- The ability to count the number of characters in a string, for example, checking a password meets the minimum requirement of 8 characters
Function | OCR exam reference | Python | Output |
Length |
|
|
7 |
|
|
"Password too short" |
Substring
- The ability to extract a sequence of characters from a larger string in order to be used by another function in the program, for example, data validation or combining it with other strings
- Extracting substrings is performed using 'slicing', using specific start and end to slice out the desired characters
- Substring is 0 indexed (first value is 0 not 1)
Function | OCR exam reference | Python | Output |
Substring |
.substring(starting character, number of characters) |
string[start character : end character] |
|
|
|
"vis" | |
.left(number of characters) |
|||
|
|
"Revi" |
|
.right(number of characters) |
|||
|
|
"sion" |
Concatenation
- The ability to join two or more strings together to form a single string
- Concatenation uses the '+' operator to join strings together
Function | OCR exam reference | Python | Output |
Concatenation |
|
|
"SarahJones" |
|
|
"Sarah Jones" | |
|
|
"Hello, Sarah" |
ASCII conversion
- The ability to return an ASCII character from a numerical value and vice versa
Function | OCR exam reference | Python | Output |
ASCII conversion |
|
|
"65" |
|
|
"a" |
Exam Tip
Remember that the '+' operator is used for concatenation of strings BUT is also the mathematical operator for addition
It is important to remember, that the same operator symbol performs different roles on different types of data (integer/string)
Worked example
A school wants to use a program to take a students first name, last name and year of entry as inputs and use them to create a username
They want the username to follow the rule:
- Initial + First 3 letters of last name + year
For example, a student named David Hamilton who started in 2024 would have the username:
- DHam2024
The algorithm has been started below:
Line | Algorithm |
01 | FName = input("Enter first name") |
02 | LName = input("Enter last name") |
03 | year = input("Enter year") |
04 | username = |
05 | print(username) |
Use string manipulation to complete line 04 to create the username [3]
How to answer this question
- What techniques do we need to use to create the username? substring to extract the parts of the first and last name
- Concatenation to join them together
Answer
Line | Algorithm |
01 | FName = input("Enter first name") |
02 | LName = input("Enter last name") |
03 | year = input("Enter year") |
04 | username = FName.substring(0,1) + LName.substring(0,3) + year |
05 | print(username) |
Guidance
FName.substring(0,1)
1 markLName.substring(0,3)
1 markusername = FName.substring(0,1) + LName.substring(0,3) + year
1 mark