在 Scala 中拆分字串

Suraj P 2022年5月18日
在 Scala 中拆分字串

本文將介紹 Scala 程式語言中拆分字串的方法。

在 Scala 中使用 split() 方法拆分字串

Scala 提供了一個名為 split() 的方法,用於使用作為引數傳遞的 delimiter 將給定字串拆分為字串陣列。

這是可選的,但我們也可以使用 limit 引數來限制結果陣列的元素總數。

讓我們看一個字串中只有一個分隔符的示例。

語法:

val resultant_array = string_Name.split(delimiter, limit(optional))

案例 1:

object MyClass
{
    def main(args: Array[String])
    {
        val line = "brick,cement,concrete"

        // Split on each comma.
        val arr = line.split(',')

        arr.foreach(println) //printing the resultant array
    }
}

輸出:

brick
cement
concrete

現在,讓我們看一個字串中有多個分隔符的情況。在 split 方法中,我們傳遞陣列中的所有分隔符。

拆分處理分隔符。然後,在陣列中返回按字母順序排列的字串。

語法:

val resultant_array = string_Name.split(Array_containing_delimiters, limit(optional))

案例 2:

object MyClass
{
    def main(args: Array[String])
    {
        val codes = "abc;def,ghi:jkl"
        val arr = codes.split(Array(';', ',', ':')) //all the delimiters are passed in an array
        arr.foreach(println)      
    }
}

輸出:

abc
def
ghi
jkl

我們來看一個分隔符是字串的情況;而不是單個字元,它是字元的集合。

語法:

val resultant_array = string_Name.split(string delimiter, limit(optional))

案例 3:

object MyClass {
    def main(args: Array[String]) {
        val codes = "Tony stark is the iron man he is the hero"

        val arr = codes.split("the") //splitting at every "the"

        arr.foreach(println)
    }
}

輸出:

Tony stark is 
 iron man he is 
 hero

此外,我們可以使用 regex 正規表示式來分隔字串。這是首選方法,因為我們可以編寫一個可以同時處理多個案例的 regex

案例 4:

object MyClass {
    def main(args: Array[String]) {
        val items = "scala; ; python; c++"

        // Any number of spaces or semicolons is a delimiter.
        val arr = items.split("[; ]+")

        //we can see that no empty element or whitespace is printed as regex handles it perfectly
        arr.foreach(println)
    }
}

輸出:

scala
python
c++

items 中分隔符之間的空字串在上面的程式碼中被忽略。然後,將兩個周圍的定界符組合起來。

作者: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

相關文章 - Scala String