第一章 Strings(三):分割字符串

Problem

    你想要把一个字符串根据分隔符切分成多个部分,比如你从CSV文件中获取以逗号分隔的字符串,或者以竖线分隔的字符串。

Solution

    使用字符串的split方法来分隔字符串:

scala> "hello world".split(" ")
res9: Array[String] = Array(hello, world)

    字符串的split方法返回了一个Array,我们可以使用foreach方法来遍历这个Array:

scala> "hello world".split(" ").foreach(println)
hello
world

Discussion

    字符串分隔的分隔方法可以使用一个简单字符也可以使用一个正则表达式。比如处理一个CSV文件的时候,你就需要使用简单的字符“逗号”。

scala> val csv = "eggs, milk, butter, Coco Puffs"
csv: String = eggs, milk, butter, Coco Puffs

scala> val ss = csv.split(",")
ss: Array[String] = Array(eggs, " milk", " butter", " Coco Puffs")

    接下来你就可以使用集合的map方法来对解析出来的字符串进行trim操作:

scala> val tss = csv.split(",").map(_.trim)
tss: Array[String] = Array(eggs, milk, butter, Coco Puffs)

    你也可以使用正则表达式来处理字符串:

scala> "hello world, this is Al".split("\\s+")
res11: Array[String] = Array(hello, world,, this, is, Al)

    

你可能感兴趣的:(scala,String,split)