文件和正则表达式
第9章 文件和正则表达式
9.1 读取行
要读取文件中的所有行,可以调用Scala.io.Sourse对象的getLine方法:
import scala.io.Source
val source = Source.fromFile("myfile.txt","UTF-8")//第一个参数可以是字符串或文件,第二个字符串是字符编码参数
val lineIterator = source.getLines//结果是一个迭代器
注:在用完Source对象后,记得调用close
9.2 读取字符
要从文件中读取单个字符,直接把Source类当成迭代器:
for(c <- source) 处理c
9.3读取词法单元和数字
将文件读取成一个字符串进行处理
val contents = source.mkString
读取文件中所有以空格隔开的词法单元
val tokens = source.mkString.split("\\s+")
将字符串转化为数字,可以用toInt或toDouble方法,例如:
val numbers = for (w <- tokens) yeild w.toDouble
或
val numbers = token.map(_.toDouble)
9.4 正则表达式
在使用正则表达式时,首先要构造一个Regex对象
findAllIn方法返回遍历所有匹配项的迭代器
findFirstIn方法要找到字符串中的首个匹配项得到的结果时一个Option[String]
findPrefixOf方法检查某个字符串的开始部分能匹配
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异