Home
Scala
String split Examples
Updated Dec 15, 2023
Dot Net Perls
Split. Strings can contain sentences. But often they contain lists of structured data. Fields are separated by commas (or other characters). Split helps us process this data.
With split, a Scala method that acts on StringLike values, we specify a delimiter or many delimiters. The method returns an array. We can process the string's fields in this array.
An example. Here we use just one delimiter char, a comma. Our constant string "line" has three parts to it—these are separated by commas. We call split.
Detail The split def returns an array of strings. This has 3 elements. We call println on the three elements in a for-loop.
for, until
object Program { def main(args: Array[String]): Unit = { // The string we want to split. val line = "brick,cement,concrete" // Split on each comma. val result = line.split(',') // Array length. println(result.length) // Print all elements in array. for (v <- result) { println(v) } } }
3 brick cement concrete
Multiple delimiters. Sometimes a string may have more than one delimiter char. This becomes complex, but using multiple delimiters to split can help.
Here We call split and pass an Array argument. The elements are the characters we want to split on (the delimiters).
Result The various delimiters are handled correctly by split. The alphabetical strings are returned in the array.
object Program { def main(args: Array[String]): Unit = { // This has several delimiters. val codes = "abc;def,ghi:jkl" // Use an Array argument to split on multiple delimiters. val result = codes.split(Array(';', ',', ':')) // Print result length. println(result.length) // Display all elements in the array. result.foreach(println(_)) } }
4 abc def ghi jkl
Substring delimiter. Sometimes we want to split on a longer delimiter (like two chars). Here we split on a two-char substring. We print the results.
object Program { def main(args: Array[String]): Unit = { // Strings are separated with two-char delimiters. val equipment = "keyboard; mouse; screen" // Split on substring. val result = equipment.split("; ") result.foreach(println(_)) } }
keyboard mouse screen
Regex. A regular expression can separate a string. This can remove empty entries—we can treat two delimiters as one. Here we treat any number of spaces and semicolons as a delimiter.
Result The empty string between delimiters in the "items" string is ignored. The two surrounding delimiters are combined.
object Program { def main(args: Array[String]): Unit = { // This string has an empty item between delimiters. val items = "box; ; table; chair" // Use a Regex to split the string. // ... Any number of spaces or semicolons is a delimiter. val result = items.split("[; ]+") // Print our results. // ... No empty elements are present. for (r <- result) { println(r) } } }
box table chair
Summary. In Scala we find methods that act on StringLike types. Split is one of these functions. We invoke it to separate structured data within a block of text.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Dec 15, 2023 (edit).
Home
Changes
© 2007-2025 Sam Allen