#Defining a string on multiple lines, using triple quotes and the line continuation character ( \ )
my_string = '''this\
is\
my\
first\
string'''
#Strings - indexing
a = "Cisco Switch"
a.index("i")
#Strings - character count
a = "Cisco Switch"
a.count("i")
#Strings - finding a character
a = "Cisco Switch"
a.find("sco")
#Strings - converting the case
a = "Cisco Switch"
a.lower() #lowercase
a.upper() #uppercase
#Strings - checking whether the string starts with a character
a = "Cisco Switch"
a.startswith("C")
#Strings - checking whether the string ends with a character
a = "Cisco Switch"
a.endswith("h")
#Strings - removing a character from the beginning and the end of a string
a = " Cisco Switch "
a.strip() #remove whitespaces
b = "$$$Cisco Switch$$$"
b.strip("$") #remove a certain character
#Strings - removing all occurences of a character from a string
a = " Cisco Switch "
a.replace(" ", "") #replace each space character with the absence of any character
#Strings - splitting a string by specifying a delimiter; the result is a list
a = "Cisco,Juniper,HP,Avaya,Nortel" #the delimiter is a comma
a.split(",")
#Strings - inserting a character in between every two characters of the string / joining the characters by using a delimiter
a = "Cisco Switch"
"_".join(a)
#Additional methods (source: https://www.tutorialspoint.com/python3/python_strings.htm)
capitalize()
#Capitalizes first letter of string.
lstrip()
#Removes all leading whitespace in string.
rstrip()
#Removes all trailing whitespace of string.
swapcase()
#Inverts case for all letters in string.
title()
#Returns "titlecased" version of string, that is, all words begin with uppercase and the rest are lowercase.
isalnum()
#Returns true if string has at least 1 character and all characters are alphanumeric and false otherwise.
isalpha()
#Returns true if string has at least 1 character and all characters are alphabetic and false otherwise.
isdigit()
#Returns true if string contains only digits and false otherwise.
islower()
#Returns true if string has at least 1 cased character and all cased characters are in lowercase and false otherwise.
isnumeric()
#Returns true if a unicode string contains only numeric characters and false otherwise.
isspace()
#Returns true if string contains only whitespace characters and false otherwise.
istitle()
#Returns true if string is properly "titlecased" and false otherwise.
isupper()
#Returns true if string has at least one cased character and all cased characters are in uppercase and false otherwise.
#Strings - concatenating two or more strings
a = "Cisco"
b = "2691"
a + b
#Strings - repetition / multiplying a string
a = "Cisco"
a * 3
#Strings - checking if a character is or is not part of a string
a = "Cisco"
"o" in a
"b" not in a
#Strings - formatting v1
"Cisco model: %s, %d WAN slots, IOS %f" % ("2600XM", 2, 12.4)
"Cisco model: %s, %d WAN slots, IOS %.f" % ("2600XM", 2, 12.4)
"Cisco model: %s, %d WAN slots, IOS %.1f" % ("2600XM", 2, 12.4)
"Cisco model: %s, %d WAN slots, IOS %.2f" % ("2600XM", 2, 12.4)
#Strings - formatting v2
"Cisco model: {}, {} WAN slots, IOS {}".format("2600XM", 2, 12.4)
"Cisco model: {0}, {1} WAN slots, IOS {2}".format("2600XM", 2, 12.4)
#Strings - slicing
string1 = "O E2 10.110.8.9 [160/5] via 10.119.254.6, 0:01:00, Ethernet2"
string1[5:15] #slice starting at index 5 up to, but NOT including, index 15; so index 14 represents the last element in the slice
string1[5:] #slice starting at index 5 up to the end of the string
string1[:10] #slice starting at the beginning of the string up to, but NOT including, index 10
string1[:] #returns the entire string
string1[-1] #returns the last character in the string
string1[-2] #returns the second to last character in the string
string1[-9:-1] #extracts a certain substring using negative indexes
string1[-5:] #returns the last 5 characters in the string
string1[:-5] #returns the string minus its last 5 characters
string1[::2] #adds a third element called step; skips every second character of the string
string1[::-1] #returns string1's elements in reverse order