Practice PCAP Strings questions with full explanations on every answer.
Start practicing
Strings — choose a session length
Free · No account required
Click any question to see the full explanation and answer options, or start a focused practice session above.
A developer needs to count the number of occurrences of the substring 'is' in the string 'This is a test. Is this a test?'. Which code correctly performs the count?
2A programmer writes a function to check if a string is a palindrome (ignoring case and non-alphanumeric characters). Which implementation correctly achieves this?
3A log analysis script needs to extract all IP addresses from a string. The IPs are in dotted-decimal format. Which regex pattern will correctly extract them?
4Which string method can be used to check if a string contains only digits?
5A developer needs to replace all occurrences of 'cat' with 'dog' in a string, but only if 'cat' is a whole word (not part of 'category'). Which code achieves this?
6Given the string s = 'Hello World!', which expression returns a list of characters?
7Which of the following is the correct way to format a string with variables?
8What is the result of 'Python'.find('th')?
9Which of the following methods can be used to check if a string starts with a vowel?
10Which TWO are valid ways to create a multiline string in Python?
11Which TWO statements are true regarding strings in Python?
12Which THREE are valid escape sequences in Python strings?
13Which THREE methods return a boolean value?
14What is the output?
15What is the length of string s?
16What is the value of matches?
17You are a network engineer troubleshooting a script that processes router configuration files. The script reads a configuration line from a file: 'interface GigabitEthernet0/1 ip address 192.168.1.1 255.255.255.0 no shutdown'. The script needs to extract the interface name and IP address. The current code uses string split operations but fails when the line has extra spaces or tabs. For example, when the line is 'interface GigabitEthernet0/1', the split returns ['interface', '', '', 'GigabitEthernet0/1'] and the script fails. You need to modify the script to robustly extract the interface name and IP address regardless of whitespace. Which approach should you take?
18You are a data analyst working with a dataset of customer reviews. Each review is stored as a string in a list. You need to count how many reviews contain the word 'excellent' (case-insensitive). However, the word might appear as 'Excellent', 'EXCELLENT', or even with punctuation like 'excellent!'. The current code uses 'excellent' in review.lower(), but this fails if 'excellent' is part of another word like 'unexcellent'. You need to ensure that only the whole word 'excellent' is counted. Which code modification will correctly count whole word occurrences?
19A developer needs to parse a log file where each line contains a timestamp followed by a message. The timestamp format is 'YYYY-MM-DD HH:MM:SS'. Which string method is most appropriate to split the timestamp from the message?
20A programmer writes a function that expects a string and returns it reversed. Which code snippet correctly reverses the string 'stressed' to 'desserts'?
21A developer is tasked with validating user input that must be a 10-digit phone number. The input may contain spaces, dashes, and parentheses. Which approach best ensures the input contains exactly 10 digits?
22When processing a large text file, a developer notices that using str.replace() in a loop is slow. Which alternative is most efficient for multiple replacements?
23A developer needs to check if a string contains only alphanumeric characters. Which string method should be used?
24A programmer is writing a script to generate SQL queries safely. They need to escape single quotes in user-provided strings to prevent injection. Which approach is most robust?
25A developer wants to remove leading and trailing whitespace from a string. Which method should be used?
26Which TWO of the following methods return a boolean value?
27Which THREE of the following are valid ways to create a string in Python?
28Which TWO of the following are immutable in Python?
29Refer to the exhibit. What is the output of the code?
30Refer to the exhibit. What is the output?
31You are a developer at a company that processes customer feedback. Each feedback entry is stored as a string containing a rating (1-5) followed by a colon and then the comment. For example: '4: Great service'. You need to extract only the comments from feedback that have a rating of 4 or 5. You have a list of feedback strings. Which code snippet correctly implements this?
32A developer needs to extract the file extension from a string like 'report.pdf'. Which string method is most appropriate?
33A logging module receives a message that may contain sensitive data. To comply with data privacy, all digits in the message should be replaced with 'X' before logging. Which approach correctly achieves this?
34A data pipeline processes CSV lines that may contain quoted fields with commas inside double quotes. For example: 'John, "Doe, Jr.", 35'. The team needs to split such a line correctly. Which approach is best?
35Which TWO of the following string methods modify the string in place? (Note: Python strings are immutable.)
36What is the output of the code?
37You are a developer for an e-commerce platform. The system receives product descriptions from suppliers in various formats. One supplier sends descriptions with inconsistent capitalization, extra whitespace, and occasional leading/trailing punctuation. Your task is to write a function that normalizes these descriptions: convert to lowercase, remove leading/trailing whitespace and punctuation (.,!?;:), and replace multiple spaces with a single space. The function should return the cleaned string. Which implementation correctly performs all these steps?
38Drag and drop the steps to handle an exception in Python using try-except-finally into the correct order.
39Drag and drop the steps to debug a Python script using pdb into the correct order.
40Drag and drop the steps to install a third-party package using pip in Python into the correct order.
41Match each exception to its cause.
42Match each string method to its purpose.
43Match each variable scope to its description.
44A developer wants to check if a string ends with a specific suffix. Which method should be used?
45Which of the following expressions returns the string 'Hello' repeated three times?
46What is the result of the expression 'aBc'.lower()?
47A function receives a string and needs to return a new string with all vowels removed. Which code snippet accomplishes this efficiently?
48What does the expression 'hello world'.title() return?
49Which of the following best describes the immutability of strings in Python?
50A developer writes: s = 'abc'; s[0] = 'x'. What happens?
51Which of the following expressions raises a ValueError?
52Given the string 'Python', what is the result of 'Python'[::-1]?
53Which TWO of the following are valid string methods in Python?
54Which THREE of the following are true about Python strings?
55Given s = 'a1b2c3', which TWO of the following expressions return the string '123'?
56Refer to the exhibit. What type of value is printed?
57Refer to the exhibit. Which of the following fixes the error?
58Refer to the exhibit. What is the output?
59A developer needs to extract the domain name (e.g., 'example.com') from an email address stored in the variable 'email'. The code currently uses `email.split('@')[1]`, which returns the domain part. However, it fails for addresses containing an '@' character in the local part (e.g., 'user@name@domain.com'). Which approach correctly extracts the domain assuming the email is valid?
60Which of the following is the BEST practice for building a large string by concatenating many smaller strings in Python?
61A team is using f-strings to format a report. They have a variable `value = 0.123456789` and want to display it with exactly 3 significant digits. They write `f"{value:.3g}"`. The output is '0.123'. They expected '0.123'. Is the output correct? If not, what change would produce '0.123'?
62A developer wants to replace all vowels in a string with their corresponding uppercase letters. They wrote: `s = 'hello world'`; `vowels = 'aeiou'`; `trans = str.maketrans(vowels, vowels.upper())`; `result = s.translate(trans)`. What is the value of `result`?
63A programmer wants to check whether a string `s` is a palindrome (reads the same forwards and backwards, ignoring case and non-alphanumeric characters). Which code snippet correctly implements this?
64A developer encounters an error: `ValueError: Unknown format code 's' for object of type 'int'` when running `print("{0:s}".format(42))`. What is the problem and how should it be fixed?
65A script reads a binary file and decodes it as UTF-8. Some bytes are invalid UTF-8 sequences, causing a `UnicodeDecodeError`. The developer wants to replace invalid bytes with the replacement character U+FFFD. Which approach achieves this?
66What is the output of `print('-'.join(['a', 'b', 'c']))`?
67Given `s = 'Python'`, what is the result of `s[-4::-1]`?
68Which TWO of the following string methods return a new string with all characters converted to lowercase? (Select exactly two.)
69Which THREE of the following escape sequences are valid in a Python string and represent a single character? (Select exactly three.)
70Which TWO of the following expressions evaluate to `True`? (Select exactly two.)
71What is the output of the above code?
72What is the cause of the error?
73What is the output of the code?
74A developer needs to check if a filename starts with the prefix 'report_'. Which string method should be used?
75What is the output of 'hello'.count('l')?
76What is the result of 'PyThon'.lower()?
77A developer writes code to display a floating-point number with exactly two decimal places. Which f-string expression is correct for value = 3.14159?
78Given s = 'Python', what is s[1:4]?
79Which of the following demonstrates that strings are immutable?
80A web application receives a byte string b'\xc3\xa9' which represents the character 'é' in UTF-8. The developer wants to convert it to a Python string. Which operation should be used?
81A developer is building a large string by concatenating many substrings in a loop using '+'. What is the main performance issue?
82What is the result of 'abcdef'[::-2]?
83Which TWO of the following string methods return a new string without modifying the original?
84Which THREE of the following are valid escape sequences in Python strings?
85Which TWO of the following expressions yield the substring 'Py' from the string s = 'Python'?
86Refer to the exhibit. What is the output?
87Refer to the exhibit. What is printed?
88Refer to the exhibit. What is the likely outcome of running this code?
89A developer wrote a script that processes user input. The script expects a string containing a list of comma-separated values. The user enters "apple, banana, cherry, date". The script uses split() to separate the items. Which code correctly extracts the second item without leading/trailing spaces?
90In a data processing pipeline, a string variable 'text' contains the value "Hello\nWorld\r\n". The developer needs to count the number of lines in the text. Which expression returns the correct line count (treating \n and \r\n as line terminators)?
91A beginner programmer writes: name = "Alice"; print("Hello " + name). Which string method alternative is more efficient and recommended for Python 3?
92A function is supposed to return True if a string contains only digits, and False otherwise. Which implementation uses a Python string method correctly?
93Given: s = "Python". Which expression raises an IndexError?
94Which of the following is a valid way to create an empty string in Python?
95A developer wants to remove all leading and trailing whitespace from a string, but preserve internal spaces. Which line of code accomplishes this?
96Consider the following code: result = ' '.join(['a', 'b', 'c']) print(repr(result)) What is the output?
97Which string method would you use to check if a string starts with a specified prefix?
98Which TWO of the following are valid string methods in Python? (Choose two.)
99Which THREE of the following expressions return the string "Python"? (Choose three.)
100Which TWO of the following are valid ways to use string formatting in Python? (Choose two.)
101What is the output?
102What is the output?
103What is the output?
104A developer needs to combine a list of 10,000 strings into a single string. Which approach is most efficient in terms of memory and performance?
105A user entered a string ' Hello, World! '. Which expression returns 'Hello, World!'?
106A Python script reads a file containing text with non-ASCII characters like 'é' and 'ü'. The script must encode the string as UTF-8 then decode it back. Which of the following correctly handles this without error?
107A developer writes a log message with variables: name = 'Alice' and age = 30. Which of the following uses an f-string correctly?
108A programmer has a string 'apple,banana,orange' and wants to get a list ['apple', 'banana', 'orange']. Which method should be used?
109A QA engineer needs to verify that a user input string contains at least one uppercase letter, one lowercase letter, and one digit. Which regex pattern can be used with re.search() to achieve this?
110A developer tries to modify a string: s = 'hello'; s[0] = 'H'. What happens when this code runs?
111A developer wants to check if a string 'example.txt' ends with '.txt'. Which expression returns True?
112A developer needs to format a floating-point number 123.456789 with exactly 2 decimal places and a width of 10 characters, right-aligned. Which format specifier accomplishes this?
113Which TWO of the following string methods return a boolean value (True or False)?
114Which THREE of the following are valid ways to create a string in Python?
115Which TWO of the following operations can be performed on a string?
116A developer is writing a function that validates a user input string to ensure it contains only ASCII digits (0-9) for a numeric ID field. Which method should be used to check the string?
117A developer gets the following error while running a Python script: 'TypeError: not all arguments converted during string formatting'. The relevant code is: print('Progress: %d%%' % (percent)). The variable 'percent' is an integer. What is the most likely cause and fix?
118Consider the following code snippet: s = 'abcdefgh'; result = s[7:3:-2]; print(result). What is the output?
119Which TWO of the following can be used to remove leading whitespace (spaces, tabs, newlines) from a string? (Choose exactly 2 correct answers.)
120A developer wants to convert a string 'Python' to all uppercase letters. Which string method should be used?
121A developer is working on a logging system where dynamic values are inserted into a template string. The template is 'User %s logged in at %s'. The developer has the username and timestamp as separate variables. Which approach is most Pythonic (PEP 498) and recommended for new code?
122Which TWO statements about Python strings are correct? (Choose exactly 2 correct answers.)
123A developer wants to check if a string 'racecar' is a palindrome by comparing it to its reverse. Which code completes the task correctly?
124Given the code: s = 'Python'; t = s; s = s + '3.0'. What is the value of t after these lines execute?
125What will the above code output?
126What is the output of the code in the exhibit?
127Given the code above, what is printed? Note: each backslash is a single character.
128Which THREE of the following string methods return a boolean value (True or False)? (Choose exactly 3 correct answers.)
129A developer writes: print('{:,}'.format(1234567)). What is the output?
130A developer uses the .index() method on a string to find the position of a substring. If the substring is not found, what exception is raised?
131A developer wants to create a string that contains the current year and month in the format 'YYYY-MM'. The year and month are stored in integer variables year and month. Which expression would produce the desired result?
132A log processing script receives a multiline string log. The script needs to check if the string ends with the substring 'ERROR'. Which method should be used?
133A programmer needs to replace every occurrence of 'cat' with 'dog' in a string s, but only if 'cat' is not preceded by 'big'. Which regex substitution would achieve this?
134What is the result of the expression 'Hello'[1:3]?
135Which method returns the lowest index where a specified substring is found, or -1 if not found?
136Under CPython, what is the result of the following code? a = 'hello'; b = 'hello'; print(a is b)
137What happens when you execute the following code? s = 'hello'; s[0] = 'H'
138A developer needs to extract the file extension from a filename like 'document.pdf'. Which expression returns 'pdf'?
139What is the result of the expression '12345'[:10]?
140Which two of the following are valid ways to create a multiline string in Python source code? (Choose two.)
141Which two methods can be used to remove leading whitespace from a string? (Choose two.)
142Which three of the following statements about Python strings are true? (Choose three.)
143Refer to the exhibit. What is the output of the code?
144Refer to the exhibit. What is the output?
145Refer to the exhibit. A Python script uses re.split with a regex pattern. What is the output?
146A developer wants to check if a string contains only alphabetic characters. Which string method should be used?
147What is the result of the expression 'Hello' * 3?
148Which expression returns the last character of string s?
149A programmer has a string s = 'Python programming is fun'. They want to extract the word 'programming'. Which slicing expression achieves this?
150Which of the following is the correct way to format a string to include a variable value with two decimal places in Python?
151What is the output of the following code? s = 'Hello'; print(s.find('l'))
152A developer writes a function to reverse a string: def reverse_str(s): return s[::-1]. Which of the following statements about this function is true?
153Which of the following expressions returns True if the string s contains only hexadecimal digits (0-9, a-f, A-F)?
154What is the result of the expression '123'.zfill(5)?
155Which TWO string methods are used to determine if a string begins or ends with a specified prefix or suffix? (Choose two.)
156Which THREE of the following string methods can be used to split a string into a list of substrings? (Choose three.)
157Given s = 'Python', which THREE of the following expressions evaluate to True? (Choose three.)
158A junior developer is writing a script that processes user input. The script reads a line of text from the console and needs to remove any leading or trailing whitespace. The developer uses the strip() method but notices that it also removes other characters like newline. However, the requirement is to remove only spaces (not tabs or newlines). Which course of action should the developer take to remove only leading and trailing spaces?
159A data analyst is cleaning a CSV file. They have a string variable containing a row of data: 'John,Doe,30,New York'. They need to extract the last name 'Doe' using string methods. The analyst writes: name = row.split(',')[1]. However, they are concerned about performance because the file contains millions of rows. They want to use a more efficient method that extracts the substring without creating a full list. Which approach should the analyst use?
160A DevOps engineer is writing a Python script to parse a configuration file. The file contains lines like: 'PARAMETER = value'. The engineer needs to extract the value part after the '=' sign, but there may be multiple equals signs in the value (e.g., 'DATABASE = mysql://user:pass@host/db'). The engineer initially uses line.split('=')[1] but this fails if there are extra equals. Which of the following approaches correctly extracts everything after the first '=' sign?
161A function receives a file path like '/home/user/docs/file.txt' and needs to return the path without the file extension, e.g., '/home/user/docs/file'. Which code reliably removes only the last dot extension, even if the directory names contain dots?
162A developer generates a report where numbers must be right-aligned in a 10-character column using f-strings: f'{value:>10}'. However, some values may be None, causing a TypeError. Which is the most robust way to handle None values without affecting other falsy values like 0?
163A function processes a Unicode string that may contain combining characters (e.g., 'é' as 'e' plus combining acute accent). The function must return the number of visible grapheme clusters (user-perceived characters). Which of the following is the most reliable built-in approach?
164Which TWO of the following string methods return a boolean value?
165Which THREE of the following are immutable types in Python?
166In a performance-critical application, you need to concatenate many strings in a loop. Which TWO approaches are most efficient?
167A junior developer is building a script to convert user-provided headlines into URL slugs. The slug should contain only lowercase alphanumeric characters and single hyphens between words, with no leading or trailing hyphens. For example, 'Hello World! How are you?' should become 'hello-world-how-are-you'. The current code is: slug = input_string.lower().replace(' ', '-').replace('!', '').replace('?', ''). However, this produces multiple hyphens when there are multiple spaces, and trailing hyphens if the string ends with punctuation. The developer needs to modify the code to handle these issues reliably. Which of the following approaches is the most robust and efficient?
168A data entry application reads a CSV file where each line contains fields separated by commas. However, some fields are enclosed in double quotes and contain commas inside, e.g., 'John,"Doe, Jr.",30'. The developer currently uses line.split(',') to parse each line, which incorrectly splits the quoted field. The developer wants a solution using only the Python standard library (no third-party packages). Which of the following is the best approach?
169A developer receives a string that looks like a JSON object but uses single quotes instead of double quotes and has unquoted keys. For example: "{'name': 'John', 'age': 30}". They need to convert this into a Python dictionary. They are allowed to use any standard library module. Which approach is the simplest and safest?
170A network engineer processes a configuration file containing MAC addresses in the format 'aa:bb:cc:dd:ee:ff'. They need to convert each MAC address into a 6-byte bytes object for use in packet crafting. The current code is: mac_bytes = bytes([int(x, 16) for x in mac_str.split(':')]). This works correctly, but they need to process thousands of MAC addresses and want to optimize performance. They also need to handle invalid MAC addresses (e.g., non-hex characters) without crashing. Which of the following approaches is the most efficient and robust?
171A developer is building a template system where placeholders like {name} and {age} appear in large text documents. They have a dictionary 'data' with the replacement values. Currently, they use a loop that calls str.replace() for each placeholder, e.g., for key, value in data.items(): text = text.replace('{' + key + '}', str(value)). This works, but performance is poor on large texts with many placeholders. The developer wants to use a more efficient method from the Python standard library. Which of the following is the best alternative?
172A developer is writing a function to reverse each word in a sentence while preserving the original order of the words. For example, 'Hello World' should become 'olleH dlroW'. The current implementation is: def reverse_words(s): return ' '.join(word[::-1] for word in s.split()). This works for simple cases. However, the input may contain multiple spaces between words (e.g., 'Hello World') and tabs. The requirement is to preserve the exact whitespace between words (including tabs and multiple spaces) in the output. Which of the following modifications will achieve this while keeping the approach efficient?
173A junior developer is parsing a log file where each line has comma-separated fields. However, some fields are enclosed in double quotes and contain commas inside, e.g., '2023-08-15 14:30:00,WARNING,"Disk space low, please clean up".'. They are required to parse these lines using only built-in string methods (no modules like csv or re). Which approach is the most reliable and efficient?
174A data scientist needs to count the occurrences of a substring in a long DNA sequence (e.g., 1 million bases). However, the count must include overlapping occurrences. For example, in 'AAAA', the substring 'AA' appears three times overlapping. The built-in count() method does not count overlapping matches. The scientist needs a function to count overlapping substrings efficiently without using third-party libraries. Which of the following approaches is the most efficient for this task?
175A developer has a string that contains literal escape sequences like '\\n' and '\\t' (i.e., a backslash followed by 'n' or 't') and needs to convert them into actual control characters (newline, tab). The string comes from a configuration file that was written with double backslashes to represent single backslashes in the original configuration. The developer wants to use standard Python functionality. For example, the string "hello\\nworld" should become "hello\nworld" (a string with a real newline). Which of the following is the simplest and most reliable method?
176A developer is validating user input in a Python application. The string variable `input_str` is assigned the value `'Hello World'`. Which TWO of the following conditions evaluate to `True`? (Choose two.)
177A cloud infrastructure engineer is developing a Python script to parse large configuration files from a fleet of servers. Each file can be up to 500 MB. The script reads the file line by line using a file object, strips comment lines (those starting with '#'), and accumulates only the configuration directives into a single string for further processing. The current code is: ```python result = '' with open('config.cfg') as f: for line in f: if not line.startswith('#'): result += line.strip() ``` After processing just a few hundred lines of a large file, the script becomes extremely slow and consumes an excessive amount of memory. The engineer identifies that string concatenation using `+=` is inefficient because strings are immutable, causing repeated memory reallocation. Which approach should the engineer implement to resolve the performance issue without changing the final output?
178A developer is building an IoT application that reads temperature data from a sensor over a TCP socket. The sensor sends data as a stream of bytes encoded in UTF-8, with each reading terminated by a newline character. The developer uses the following code to receive data: ```python import socket s = socket.socket() s.connect(('sensor.local', 5000)) data = s.recv(1024) ``` The variable `data` is a bytes object. The developer needs to convert it to a string to parse the temperature value. Which of the following lines of code should the developer use to correctly obtain the string representation of the received data, assuming the data is valid UTF-8 and may contain non-ASCII characters?
179Which TWO string methods raise an exception when the searched substring is not found?
180Refer to the exhibit. What happens when the code is executed?
181You are developing a high-performance logging module that must handle thousands of log entries per second. Each entry is built by concatenating a timestamp, level, and message. Currently, your code uses a loop that repeatedly appends to a string using the += operator. This results in high memory usage and sluggish performance because each concatenation creates a new string object. The module must run on systems with limited memory and cannot rely on external libraries. Which course of action would best resolve the performance issue while maintaining readability and standard library compliance?
The Strings domain covers the key concepts tested in this area of the PCAP exam blueprint published by Python Institute. Courseiva provides free domain-focused practice, mock exams, missed-question review, and readiness tracking across all PCAP domains — no account required.
The Courseiva PCAP question bank contains 181 questions in the Strings domain. Click any question to see the full explanation and answer breakdown.
Start with a 10-question focused session to identify your baseline accuracy in this domain. Read every explanation — even for questions you answer correctly — to understand the reasoning. Once you score consistently above 80%, move to a 20–30 question session to confirm depth before moving to the next domain.
Yes — the session launcher on this page draws questions exclusively from the Strings domain. Choose 10, 20, 30, or 50 questions for a focused session, or click individual questions to review them one by one.
Save your results, see per-domain analytics, and get readiness scores — free, for every certification.
Sign Up FreeFree forever · Every certification included