scala中的正则表达式(一)

43 阅读2分钟

(一) 正则表达式的定义

正则表达式(Regular Expression)是一种用于匹配、查找和替换文本中特定模式的字符串。

它是一种强大的文本处理工具,通过定义一系列的字符和操作符组合来描述这些模式。简单来说,它就像是一种文本模式的“配方”,可以让计算机根据这个“配方”在文本中找到符合要求的内容。

package Array
/*
 * 1. 读取test.txt这个文件。得到一个长长的字符串:"I am studying scala. I like scala."
 * 2. 把这个字符串拆分成一个个的单词:I, am, studying, scala .....
 * 3. 统计每个单词出现的次数
 * 4. 对结果排序(降序排列)
 * 5. 把结果输出到一个新的文件中
 */

object word1 {
    def main(args: Array[String]): Unit = {
      val content = scala.io.Source.fromFile("test.txt").mkString
      // 2. 把字符串拆分为单词
      val list = content.split("\W+ ").map(word=>word.toListCase); // 使用 空格 去拆分字符串,结果是一个List
      // 3. 统计每个单词出现的次数
      // 新建一个Map("I" -> 1, "am" -> 2)
      val map1 = scala.collection.mutable.Map[String,Int]()
      // 对于list中的每个单词
      list.foreach(word => {
        // 检查它在Map中是否存在
        // println(word, map1.contains(word))
        if (map1.contains(word)) {
          map1(word) += 1 // 存在:把它的值+1
        } else {
          map1(word) = 1 // 不存在:把它的值设为1
        }
      })
      // 4. 对结果排序(降序排列)
      // Map本身是无序的,它没有排序的功能
      // 如果要对它的内容进行排序,那么,我们要把它转换成可以排序的集合:List
      // sortBy排序:根据元组的第二个值
      // reverse:倒转
      val wordList = map1.toList.sortBy(_._2).reverse
      wordList.foreach(el => println(el))
    }


}

【总结正则表达式的使用步骤】

1. 定义匹配规则。写正则表达式

2. 定义数据,准备要匹配的内容。

3.将字符串使用规则进行匹配

OIF-C.webp

  • 完结撒花 !!!!!!!!!!
  • 制作不易 希望·一键三连 在此感谢关注的粉丝宝宝
  • 新来的宝宝可以关注下主播哟!!!!!