### Learning Python: Programming and Data Structures- Tutorial 12- String Manipulation

This example will demonstrate how you can do several things with strings.

1. Convert a string to Lower Case.
2. Convert a string to Upper Case
3. Capitalize a String
4. Slice substrings from a string
5. Find a particular substring in a string
6. Chop of leading and trailing characters from strings.
7. Find out the length of strings
8. Replace a substring by another.

 ```# let us create a test string testString1 = "Hello World!" print "Original String: "+ testString1 # Print this string in lower case # Converting a string to lower caseprint "Converting to LowerCase" print testString1.lower() # Converting a string to upper caseprint "Converting to Upper Case" print testString1.upper() # Capitalizing a string# Only the first letter in the string will be capitalized print "Capitalizing the String" print testString1.capitalize() # Trying to slice out a substring between given indexesprint "Substring from index 1 to 7" print testString1[1:8] #Substring from the start till character at index = 7 (start of string is index 0) print "Substring from the start till character at index = 7 (start of string is index 0): " print testString1[:8] #Substring from the character at index = 7, till the end of the string (remember: start of string is index 0) print "Substring from the character at index = 7, till the end of the string (remember: start of string is index 0): " print testString1[7:] #Find the position of a substring within the string#This gives us the first index during a left to right scan. If the string is not found, it returns -1 print "Find the index from which the substring 'llo' begins within the test string" print testString1.find('llo') print "Now, let's look for a substring which is not a part of the given string" print testString1.find('xxy') # Now, trying to find the index of a substring between specified indexes only print "Now, trying to find a substring between specified indexes only: looking for 'l' between 4 and 9" print testString1.find('l',4,9) # rfind is used, to find the index from the reverse # So, testString1.rfind('l') will look for the last index of l in the string print "find('l') on the given string returns the following index (scanning the string from left to right):" print testString1.find('l') print "rfind('l') on the given string returns the following index (this scans the string from right to left):" print testString1.rfind('l') # Now let us try to replace/substitute a substring of this string with another stringprint "Replacing World with Planet" print testString1.replace("World","Planet") # Now let us try to split the string, into separate words# let us split it wherever there is a space print "Splitting the string into words, wherever there is a space" print testString1.split(" ") print testString1.rsplit(" ") # Remove leading and trailing whitespace characterstestString2 = "Hello World! " print "Current Test String=" + testString2 print "Length (there are whitespaces at the end):" + `len(testString2)` print "Length after stripping "+ `len(testString2.strip())` ```

Output of the Program above:

`Original String: Hello World!`
`Converting to LowerCase`
`hello world!`
`Converting to Upper Case`
`HELLO WORLD!`
`Capitalizing the String`
`Hello world!`
`Substring from index 1 to 7`
`ello Wo`
`Substring from the start till character at index = 7 (start of string is index 0): `
`Hello Wo`
`Substring from the character at index = 7, till the end of the string (remember: start of string is index 0): `
`orld!`
`Find the index from which the substring 'llo' begins within the test string`
`2`
`Now, let's look for a substring which is not a part of the given string`
`-1`
`Now, trying to find a substring between specified indexes only: looking for 'l' between 4 and 9`
`-1`
`find('l') on the given string returns the following index (scanning the string from left to right):`
`2`
`rfind('l') on the given string returns the following index (this scans the string from right to left):`
`9`
`Replacing World with Planet`
`Hello Planet!`
`Splitting the string into words, wherever there is a space`
`['Hello', 'World!']`
`['Hello', 'World!']`
`Current Test String=Hello World!  `
`Length (there are whitespaces at the end):14`
`Length after stripping 12`