在 Scala 中拆分字串
Suraj P
2022年5月18日
本文將介紹 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