Home
Scala
String split Examples
This page was last reviewed on 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
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 tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Dec 15, 2023 (edit).
Home
Changes
© 2007-2024 Sam Allen.