SLICING AND SPLICING STRINGS
Python enables you to extract substrings of a string (called “slicing”) using array notation. Slice notation is start:stop:step, where the start, stop, and step values are integers that specify the start value, end value, and the increment value, respectively. The interesting part about slicing in Python is that you can use the value -1, which operates from the right-side instead of the left-side of a string.
Some examples of slicing a string are here:
text1 = "this is a string"
print('First 7 characters:',text1[0:7])
print('Characters 2-4:',text1[2:4])
print('Right-most character:',text1[-1])
print('Right-most 2 characters:',text1[-3:-1])
The output from the preceding code block is here:
First 7 characters: this is Characters 2-4: is Right-most character: g Right-most 2 characters: in
Later in this chapter, you will see how to insert a string in the middle of another string.
Testing for Digits and Alphabetic Characters
Python enables you to examine each character in a string and then test whether that character is a bona fide digit or an alphabetic character. This section provides a precursor to regular expressions that are discussed in Chapter 4.
Listing 1.3 displays the content of char_types.py that illustrates how to determine if a string contains digits or characters. In case you are unfamiliar with the conditional “if” statement in Listing 1.3, more detailed information is available in Chapter 2.
LISTING 1.3: char_types.py
str1 = "4"
str2 = "4234"
str3 = "b"
str4 = "abc"
str5 = "a1b2c3"
if(str1.isdigit()):
print("this is a digit:",str1)
if(str2.isdigit()):
print("this is a digit:",str2)
if(str3.isalpha()):
print("this is alphabetic:",str3)
if(str4.isalpha()):
print("this is alphabetic:",str4)
if(not str5.isalpha()):
print("this is not pure alphabetic:",str5)
print("capitalized first letter:",str5.title())
Listing 1.3 initializes some variables, followed by 2 conditional tests that check whether str1 and str2 are digits using the isdigit() function. The next portion of Listing 1.3 checks if str3, str4, and str5 are alphabetic strings using the isalpha() function. The output of Listing 1.3 is here:
this is a digit: 4 this is a digit: 4234 this is alphabetic: b this is alphabetic: abc this is not pure alphabetic: a1b2c3 capitalized first letter: A1B2C3