迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Scala 中拆分字符串

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本文将介绍 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 中分隔符之间的空字符串在上面的代码中被忽略。然后,将两个周围的定界符组合起来。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便