scala学习笔记10 文件和正则表达式
2016-08-09 01:15
471 查看
Source.fromFile().getLines.toArray输出文件的所有行
Source.fromFile().mkString以字符串形式输出文件内容
将字符串转换为数字 toInt toDouble
使用Java的PrintWriter写入文件
“正则”.r是一个Regex对象
如果你的正则表达式含有反斜杠或者引号,用""...""
如果正则表达式包含分组,你可以使用下列语法提取内容 for(regex(变量1,变量2,。。。,变量n)<-字符串)
1、读取行
import scala.io.Source
val source =Source.fromFile("myfile.txt","UTF-8")
val lineIterator =source.getLines
for (i<-lineIterator) 处理语句
两个参数分别是文件和编码(如果文件使用的是当前的缺省编码,可以省略)
val lines=source.getLines.[b]toArray[/b]
[b]val contents=source.[b]mkString[/b][/b]
用完Source对象后,记得close
2、读取字符
要从文件中读取单个字符,可以直接把Source当成迭代器,因为[b]Source类扩展自iterator[/b]
[b][b]val source =Source.fromeFile("myfile.txt","UTF-8")
[/b][/b]
[b][b]for(c<-source ) 处理c[/b][/b]
如果想查看但是不处理某个字符,调用source对象的buffered方法,这样你就可以用
head方法查看下一个字符,但同时不把它当成已处理的字符(实际上就是不断的重复循环读取字符)
3、读取词法单元和数字
val numbers=source.mkString.split("\\s+") //+表示一个或者多个
4、从url或者其它源读取
val source1=Source.fromURL("http://baidu.com")
val source2=Source.fromString("Hello World!")
val source3=Source.stdin //从标准输入读取
5、读取二进制文件
scala并没有提供读取二进制文件的方法,需要使用java类库
6、写入文本文件
import java.io.PrintWriter
val out= new PrintWriter("*.txt")
for(i<-1 to 100) out.println(i)
out.close()
7、访问目录
目前scala没有用来访问某个目录的全部文件,或者递归的遍历所有目录的类。但是有一些替代方法
8、序列化
在java中,我们可以用序列化来将对象传输到其它的虚拟机或者临时存储。
@SerialVersionUID(42L) class person extends Serializable
关于序列化还需注意 内容待定
9、正则表达式
参考:http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html
val numPattern="[0~9]+".r
如果正则表达式还有反斜杠或者引号
val wsnumwsPattern="""\s+[0~9]+\s+""".r
findallin方法返回所有匹配项的迭代器
for(matchString<-numPattern.findAllIn("99 bottles, 98 bottles"))
处理matchstring
要找到字符串里的首个匹配项,得到的结果是Option[String]
val matchs=numPattern.findFirstIn("99 bottles, 98 bottles")
。。。。。。。。。。。。。。。。。。。。。。
10、正则表达式组
在想要提取的子表达式两侧加上圆括号,例如
val numitemPattern="([0~9]+) ([a~z]+)".r
参考:http://developer.51cto.com/art/200909/152225.htm
可以通过 \1调用正则表达式组
相关文章推荐
- scala学习笔记-文件和正则表达式
- 快学Scala学习笔记及习题解答(9文件和正则)
- 【学习笔记——Linux】Linux正则表达式和文件格式化处理
- Python3学习笔记10-标准库之正则、时间、路径、文件管理、存储对象
- Linux 学习笔记 -- 第三部分 学习 shell 与 shell script -- 第12章 正则表达式与文件格式化处理
- python 学习笔记 10 -- 正则表达式
- Scala学习笔记--正则表达式基础知识、如何在scala内使用
- [Scala]Scala学习笔记七 正则表达式
- python学习笔记(五)文件操作、正则表达式
- python基础学习笔记(三) 文件、time和正则表达式
- Scala学习(九)---文件和正则表达式
- Linux运维学习笔记之六:Linux中的文件类型、属性、正则表达式、权限体系
- Scala学习(九)---文件和正则表达式
- Python 学习笔记(三):文件,高级特性,枚举,正则表达式,模块
- Powershell学习笔记--使用正则表达式查找文件
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式 学习笔记
- java 学习笔记之正则表达式
- SED,AWK学习笔记Part 1-----利用正则表达式进行文本匹配[转]