Scala Cheat Sheet



  • Scala Tutorial
  • Scala Useful Resources

Scala Cheat Sheet For Java Developers

Designed for people who are already familiar with the Scala programming language, for small reminders. I am not a Scala professional, so please report my errors in the issues, in order to have better quality content. To read, consider each section as a separate cheat sheet, not the whole project as a cheat sheet. Thank you and have fun! =Scala= CHEAT SHEETv.0.1“Every value is an object & every operation is a message send.”PACKAGE Java style: package. Scala implicitly converts the String to a RichString and invokes that method to get an instance of Regex. To find a first match of the regular expression, simply call the findFirstIn method. If instead of finding only the first occurrence we would like to find all occurrences of the matching word, we can use the findAllIn ( ) method and in. Scala Iterator: A Cheat Sheet to Iterators in Scala. An Introduction to Iterators in Scala. After collections like Lists, Sets, and Maps, we will discuss a way to iterate on them(how we can access their elements one by one). =Scala= CHEAT SHEET v.0.1 “Every value is an object & every operation is a message send.” PACKAGE Java style: package com.mycompany.mypkg applies across the entire file scope Package 'scoping' approach: curly brace delimited package com package mycompany package scala package demo object HelloWorld import java.math.BigInteger.

  • Selected Reading

This chapter explains how Scala supports regular expressions through Regex class available in the scala.util.matching package.

Try the following example program where we will try to find out word Scala from a statement.

Example

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

Output

Sheet

We create a String and call the r( ) method on it. Scala implicitly converts the String to a RichString and invokes that method to get an instance of Regex. To find a first match of the regular expression, simply call the findFirstIn() method. If instead of finding only the first occurrence we would like to find all occurrences of the matching word, we can use the findAllIn( ) method and in case there are multiple Scala words available in the target string, this will return a collection of all matching words.

Scala Cheat Sheet

You can make use of the mkString( ) method to concatenate the resulting list and you can use a pipe (|) to search small and capital case of Scala and you can use Regex constructor instead or r() method to create a pattern.

Try the following example program.

Example

Scala

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

Output

Scala Cheat Sheet

If you would like to replace matching text, we can use replaceFirstIn( ) to replace the first match or replaceAllIn( ) to replace all occurrences.

Example

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

Output

Forming Regular Expressions

Scala inherits its regular expression syntax from Java, which in turn inherits most of the features of Perl. Here are just some examples that should be enough as refreshers −

Following is the table listing down all the regular expression Meta character syntax available in Java.

SubexpressionMatches
^Matches beginning of line.
$Matches end of line.
.Matches any single character except newline. Using m option allows it to match newline as well.
[...]Matches any single character in brackets.
[^...]Matches any single character not in brackets
ABeginning of entire string
zEnd of entire string
ZEnd of entire string except allowable final line terminator.
re*Matches 0 or more occurrences of preceding expression.
re+Matches 1 or more of the previous thing
re?Matches 0 or 1 occurrence of preceding expression.
re{ n}Matches exactly n number of occurrences of preceding expression.
re{ n,}Matches n or more occurrences of preceding expression.
re{ n, m}Matches at least n and at most m occurrences of preceding expression.
a|bMatches either a or b.
(re)Groups regular expressions and remembers matched text.
(?: re)Groups regular expressions without remembering matched text.
(?> re)Matches independent pattern without backtracking.
wMatches word characters.
WMatches nonword characters.
sMatches whitespace. Equivalent to [tnrf].
SMatches nonwhitespace.
dMatches digits. Equivalent to [0-9].
DMatches nondigits.
AMatches beginning of string.
ZMatches end of string. If a newline exists, it matches just before newline.
zMatches end of string.
GMatches point where last match finished.
nBack-reference to capture group number 'n'
bMatches word boundaries when outside brackets. Matches backspace (0x08) when inside brackets.
BMatches nonword boundaries.
n, t, etc.Matches newlines, carriage returns, tabs, etc.
QEscape (quote) all characters up to E
EEnds quoting begun with Q

Regular-Expression Examples

ExampleDescription
.Match any character except newline
[Rr]ubyMatch 'Ruby' or 'ruby'
rub[ye]Match 'ruby' or 'rube'
[aeiou]Match any one lowercase vowel
[0-9]Match any digit; same as [0123456789]
[a-z]Match any lowercase ASCII letter
[A-Z]Match any uppercase ASCII letter
[a-zA-Z0-9]Match any of the above
[^aeiou]Match anything other than a lowercase vowel
[^0-9]Match anything other than a digit
dMatch a digit: [0-9]
DMatch a nondigit: [^0-9]
sMatch a whitespace character: [ trnf]
SMatch nonwhitespace: [^ trnf]
wMatch a single word character: [A-Za-z0-9_]
WMatch a nonword character: [^A-Za-z0-9_]
ruby?Match 'rub' or 'ruby': the y is optional
ruby*Match 'rub' plus 0 or more ys
ruby+Match 'rub' plus 1 or more ys
d{3}Match exactly 3 digits
d{3,}Match 3 or more digits
d{3,5}Match 3, 4, or 5 digits
Dd+No group: + repeats d
(Dd)+/ Grouped: + repeats Dd pair
([Rr]uby(, )?)+Match 'Ruby', 'Ruby, ruby, ruby', etc.

Scala Cheat Sheet Pdf

Note − that every backslash appears twice in the string above. This is because in Java and Scala a single backslash is an escape character in a string literal, not a regular character that shows up in the string. So instead of ‘’, you need to write ‘’ to get a single backslash in the string.

Try the following example program.

Scala Cheat Sheet

Example

Save the above program in Demo.scala. The following commands are used to compile and execute this program.

Command

Scala Cheat Sheet Coursera

Output