1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_FRAME_LEVEL: 1
#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
#+LaTeX_HEADER: \usepackage{listings}
#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
#+LaTeX_HEADER: commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
#+LaTeX_HEADER: showstringspaces=false, keywordstyle=\color{blue}\bfseries}
#+TITLE:
#+AUTHOR: FOSSEE
#+EMAIL:
#+DATE:
#+DESCRIPTION:
#+KEYWORDS:
#+LANGUAGE: en
#+OPTIONS: H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS: TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
*
#+begin_latex
\begin{center}
\vspace{12pt}
\textcolor{blue}{\huge Manipulating Strings}
\end{center}
\vspace{18pt}
\begin{center}
\vspace{10pt}
\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
\vspace{5pt}
\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\
\scriptsize Funded by National Mission on Education through ICT\\
\scriptsize MHRD,Govt. of India\\
\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
\end{center}
#+end_latex
* Objectives
At the end of this tutorial, you will be able to,
- Slice strings and get sub-strings out of them.
- Reverse strings.
- Replace characters in strings.
- Convert strings to upper or lower case.
- Join a list of strings.
* Pre-requisite
Spoken tutorial on -
- Getting started with strings.
- Getting started with lists.
- Basic datatypes and operators.
* Forms
- sat
- saturday
- Sat
- Saturday
- SAT
- SATURDAY
* Exercise 1
- Obtain the sub-string excluding the first and last characters from
the string ~s~.
* Exercise 2
- Given a list week, week = ~week = ["sun", "mon", "tue", "wed",
"thu", "fri", "sat"]~. Check if ~s~ is a valid name of a day of the
week. Change the solution to this problem, to include forms like,
SAT, SATURDAY, Saturday and Sat.
* Exercise 3
- Given ~email~ -- ~info@fossee[dot]in~
Replace the ~[dot]~ with ~.~ in ~email~
* Exercise 4
- From the ~email\_str~ that we generated, change the separator to be a
semicolon instead of a comma.
* Summary
In this tutorial, we have learnt to,
- Obtain sub-strings and reverse of strings by using the index numbers
- Use following functions -
- ``upper()'' -- to obtain the upper case of a string
- ``lower()'' -- to obtain the lower case of a string
- ``replace()'' -- to replace a character by another one
- ``join()'' -- to join a list of strings with an operator
* Evaluation
1. Given a string s = "this is a string", how will you change it
to "this isn't a list"
2. Given the string "F.R.I.E.N.D.S" in s, obtain the string "friends".
* Solutions
1.
#+begin_src Python
s = s.replace("string", "list")
s = s.replace("is", "isn't")
s
#+end_src
2. s[::2].lower()
*
#+begin_latex
\begin{block}{}
\begin{center}
\textcolor{blue}{\Large THANK YOU!}
\end{center}
\end{block}
\begin{block}{}
\begin{center}
For more Information, visit our website\\
\url{http://fossee.in/}
\end{center}
\end{block}
#+end_latex
|