# Scala: Finding the difference, intersection, and distinct characters in a String

This is an excerpt from the Scala Cookbook (partially modified for the internet). This is a short recipe, Recipe 1.11, “String Differences, Intersections, and Distinct Characters.”

## Problem

In Scala, you need to perform advanced string operations, such as finding the difference between two strings, the common characters between two strings, or the unique characters in a string.

## Solution

You can perform all of these operations with built-in methods. Use the `diff` method to find the differences between two strings:

``````val a = "Four score and six years ago"
val b = "Four score and seven years ago"
a diff b   // "ix"
b diff a   // "vene"``````

Use the `intersect` method to find the characters that are common between two strings:

``````val a = "Alvin"
val b = "Alexander"
a intersect b   // yields "Aln"
b intersect a   // yields "Aln"``````

Use the `distinct` method to find the distinct/unique characters in a string:

``````"hello world".distinct            // yields "helo wrd"
"hannah".distinct                 // yields "han"
"Four score and seven".distinct   // yields "Four sceandv"``````

## Discussion

Scala is known for having extensive library support, as you can see from these built-in methods. Remember to review the methods that are available on a `String`; if the behavior you need seems common, it’s probably already there.

## The Scala Cookbook

This tutorial is sponsored by the Scala Cookbook, which I wrote for O’Reilly:

You can find the Scala Cookbook here on Amazon.com.