如何逐行拆分scala中的文本

Posted

技术标签:

【中文标题】如何逐行拆分scala中的文本【英文标题】:how to split the text in scala line by line 【发布时间】:2018-12-19 00:03:47 【问题描述】:

文本将是“asd_fgh_jklm” 输出 : asd fgh jk 流明 如果最后一个单词是 4 那么 2+2 如果是 3 那么 2+1

条件:

删除字符串中的所有_个字符

字符数>=4

将 3 个字符中的每一个打印到新行。

如果剩余字符数

4 - 2+2

3-2+1

2-2

1 - 1

然后将 2 个字符拆分并打印成一行,剩下的到下一行

【问题讨论】:

你试过什么?向我们展示您的尝试,以便我们更好地解决您的学习过程。 请编辑您的问题以使用某种代码标记,因为我现在不知道这个问题想问什么。此外,正如 jwvh 所建议的那样,请包含您当前的代码,以便我们可以帮助您调试为什么它没有按照您的意愿执行。 【参考方案1】:

我不知道你到底是什么意思,但也许这会对你有所帮助:

def magicSplit(str: String, separator: String) =
  str.split(separator).toList match 
    case init :+ last => init ++ last.grouped(2)
  


val res1 = magicSplit("asd_fgh_jklm", "_")
val res2 = magicSplit("asd_fgh_jk", "_")
val res3 = magicSplit("asd_fgh_j", "_")
val res4 = magicSplit("asd_fgh_jkl", "_")

结果:

res1: List[String] = List(asd, fgh, jk, lm)
res2: List[String] = List(asd, fgh, jk)
res3: List[String] = List(asd, fgh, j)
res4: List[String] = List(asd, fgh, jk, l)

【讨论】:

以上是关于如何逐行拆分scala中的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何从python中的文本文档中删除所有标点符号和其他符号?

C 语言文件操作 ( 配置文件读写 | 写出或更新配置文件 | 逐行遍历文件文本数据 | 获取文件中的文本行 | 查询文本行数据 | 追加文件数据 | 使用占位符方式拼接字符串 )

libGDX:如何在按键后逐行读取和显示.txt文件中的文本?

如何在Scala中按另一个列表拆分列表

如何使用scala拆分字符串?

Scala版Spark简单商品统计程序教程--逐行精讲