These are the most important
String
methods (here,
S
and
T
are strings):
-
S.length
is the length of the string in characters;
-
S.substring(i)
returns the part of the string starting at
index
i
.
-
S.substring(i,j)
returns the part of the string starting
at index
i
and going up to index
j-1
. You can write
S.slice(i,j)
instead.
-
S.contains(T)
returns
true
if
T
is a
substring of
S
;
-
S.indexOf(T)
returns the index of the first occurrence of
the substring
T
in
S
(or -1);
-
S.indexOf(T, i)
returns the index of the first occurrence
after index
i
of the substring
T
in
S
(or -1);
-
S.toLowerCase
and
S.toUpperCase
return a copy of
the string with all characters converted to lower or upper case;
-
S.capitalize
returns a new string with the first letter only
converted to upper case;
-
S.reverse
returns the string backwards;
-
S.isEmpty
is the same as
S.length == 0
;
-
S.nonEmpty
is the same as
S.length != 0
;
-
S.startsWith(T)
returns
true
if
S
starts
with
T
;
-
S.endsWith(T)
returns
true
if
S
ends
with
T
;
-
S.replace(c1, c2)
returns a new string with all
characters
c1
replaced by
c2
;
-
S.replace(T1, T2)
returns a new string with all
occurrences of the substring
T1
replaced by
T2
;
-
S.trim
returns a copy of the string with white space at
both ends removed;
-
S.format(arguments)
returns a string where the
percent-placeholders in
S
have been replaced by the arguments
(see example below);
-
S.split(T)
splits the string into pieces and returns an
array with the pieces.
T
is a regular expression (not
explained here). To split around white space,
use
S.split("
s+")
.
In addition, strings provide all the
common methods of all
sequences
—you can think of a string as a
sequence of characters.
For example:
scala> val S = "CS109 is nice"
S: java.lang.String = CS109 is nice
scala> S.contains("ice")
res0: Boolean = true
scala> S.indexOf("ice")
res1: Int = 10
scala> S.indexOf("rain")
res2: Int = -1
scala> S.replace('i', '#')
res4: java.lang.String = CS109 #s n#ce
scala> S.split("\\s+")
res5: Array[java.lang.String] = Array(CS109, is, nice)
scala> S.toLowerCase
res6: java.lang.String = cs109 is nice
scala> S.toUpperCase
res7: java.lang.String = CS109 IS NICE
scala> S.substring(5)
res8: java.lang.String = " is nice"
scala> S.substring(5,8)
res9: java.lang.String = " is"
scala> S.reverse
res10: String = ecin si 901SC
scala> val F = "%5s %3d %-3d %g"