import java.io.PrintWriter
import scala.io.Source
object ddd1 {
def main(args: Array[String]): Unit = {
//读入文件内容
val content = Source.fromFile("dd.txt").mkString
println(content)
//2.把字符串拆分为一个一个的单词,保存到数组
//正则表达式
//\\:表示正则表达式
// w:表示一个非字(不是一个字,例如:空格,逗号,句号)
//w+:多个非字
val arr = content.split("\\w+")
for(word <-arr){
println(word)
}
//3.统计每个单词出现的次数
val wordMap = scala.collection.mutable.Map[String,Int]()
for(w <-arr){
val word = w.toLowerCase()//把单词全部小写
if(wordMap.contains(word)){
wordMap(word)+=1
}else{
wordMap(word)=1
}
}
//排序,Map是无序,要做排序,先要把数组转成数列,List,Array
println( wordMap.toList)
val orderWordList = wordMap.toList.sortWith((a,b)=>a._2>b._2).filter(e=>e._1,length>2).slice(0,30)
//5.把结果写到一个文件中
for(e<-orderWordList){
println(e)
}
val writer= new PrintWriter("out.txt")
writer.println("结果是:")
writer.println("the:20次")
writer.close()
}
}
11.21Scala
Word的妈呀2024-11-22 10:14
相关推荐
hez20103 天前
在 .NET 上构建超大托管数组雨落倾城夏未凉8 天前
第四章c#方法-参数数组和可选参数(16)唐青枫10 天前
线程不是越多越快:C#.NET Thread 生命周期、同步与后台工作线程实战唐青枫10 天前
别只会反射:C#.NET Emit 动态生成代码实战详解咕白m62511 天前
.NET 环境下 Word 超链接批量提取方案用户917215619021111 天前
C# 通信协议增量解析:用状态机处理半包和粘包小码编匠11 天前
C# 工控上位机必备:数据转换工具类与十个核心模块唐青枫13 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解Artech14 天前
[MAF预定义的AIContextProvider-03]ChatHistoryMemoryProvider——赋予Agent从经验中学习的能力Scout-leaf15 天前
C#摸鱼实录——IoC与DI案例详解