Lua 系统函数 第四课 string

image.png

Lua字符串处理入门:常用函数与技巧

上课日期:2025年5月24日

上课时间:下午3:10

上课时长:1小时10分钟25秒


一、这节课到底在学什么?

这节课主要学习Lua语言中string库的常用函数,重点讲解字符串的查找、匹配、替换和提取等操作,并介绍了语法糖的简化写法。


二、课程时间线梳理

  1. 00:00-10:00:回顾上节课内容,介绍本节课重点——string库函数。
  2. 10:00-25:00:讲解gmatch函数,这是一个字符串迭代器函数,用于遍历和匹配字符串中的特定模式(如字母、数字)。
  3. 25:00-40:00:深入探讨字符串匹配模式,复习常用匹配符(如 %a代表字母,%d代表数字),并尝试处理中文字符匹配的复杂性。
  4. 40:00-55:00:讲解gsub函数(全局替换函数),演示如何根据模式匹配替换字符串内容,包括限制替换次数和使用函数返回值进行动态替换的高级用法。
  5. 55:00-65:00:讲解sub函数,用于根据索引位置提取字符串的子串,并讨论了中英文字符字节编码差异导致的提取问题。
  6. 65:00-70:00:介绍语法糖写法,演示如何用更简洁的 字符串:函数名()形式调用string库函数。
  7. 70:00-结束:课程总结与答疑,并拓展介绍了数学库对前端开发的重要性。

三、重点知识点总结

  1. gmatch函数:返回一个迭代器函数,用于在for循环中遍历字符串,匹配特定模式。

  2. 常用匹配符

    • %a:匹配任意字母。
    • %d:匹配任意数字。
    • %s:匹配空格字符。
    • %w:匹配字母或数字。
  3. 特殊符号需转义:如 $()等有特殊含义的字符,需要用 %进行转义才能匹配自身。

  4. gsub函数:用于字符串的查找和替换。第三个参数可以是一个数字,用于限制替换次数;也可以是一个函数,实现动态替换

  5. sub函数:用于根据开始和结束索引提取子串。索引可为负数,表示从字符串末尾开始计数。

  6. 语法糖:简化string库函数调用的写法,例如 string.gsub(str, pattern)可以简写为 str:gsub(pattern)

  7. 字符编码差异英文字符通常占1个字节,而中文字符在不同编码下可能占2个或3个字节,使用sub等函数时需要注意,否则可能产生乱码。


四、学完这节课你能掌握

  1. 理解并会使用gmatch函数来迭代遍历字符串中的特定模式。
  2. 掌握gsub函数进行字符串替换,包括基本的全局替换和带次数限制的替换。
  3. 掌握sub函数来按位置提取字符串的任意部分。
  4. 学会使用语法糖让字符串操作的代码写起来更简洁、易读。
  5. 了解字符串匹配模式的基本概念和常用匹配符。
  6. 对字符编码差异有基本认识,避免在处理中文时出错。

课程评价:讲师对本节课的核心知识点(如几个核心函数的用法)讲解清晰,并能结合实例进行演示。对于字符串匹配等相对复杂的内容,讲师坦诚地分享了其在实际开发中的使用习惯(借助工具),体现了实用主义精神。建议后续可对匹配模式进行更系统的归纳,并增加一个综合应用实例,将多个函数串联起来,帮助学员更好地理解如何灵活运用。总体而言,课程内容充实,对初学者入门Lua字符串处理很有帮助。

课程链接,点击进入

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

举报

改内容来自
系统函数
进入
快速回复 返回顶部 返回列表