[Lua语言基础]-9、字符串

[复制链接]
查看1539 | 回复0 | 2021-8-17 21:45:22 | 显示全部楼层 |阅读模式
本帖最后由 Aitlo 于 2021-8-17 21:48 编辑
  1. -- 字符串定义
  2. --是有数字、字母、下划线组成的一串字符
  3. --lua语言中字符串可以使用一下三种方式来表达:
  4. --        1.单引号间的一串字符串
  5. --        2.双引号间的一串字符串
  6. --        3.[[和]]间的一串字符串
  7.         

  8. -- 学习字符串的表示
  9. str1 = "hello"
  10. str2 = '你好'
  11. str3 = [[大家下午好]]
  12. str4 = "'大家好'"
  13. str5 = '"大家下午好"'
  14. print(str1,str2,str3,str4,str5)

  15. -- 输出字符串长度
  16. print('str1 字符串长度='..string.len(str1))         -- 使用字符串函数,输出长度
  17. print('str1 字符串长度='..#str2)                                 -- 使用# 符号,输出长度 一个汉字按两个字符
复制代码
  1. -- 字符串常用函数
  2. --[[字符串的常用操作:
  3.         1.字符串长度 len()、大小写函数 upper()、lower()
  4.         2.查找函数 find()
  5.         3.截取函数 sub()
  6.         4.字符串替换函数 gsub()
  7.         5.字符串翻转 reverse()
  8.         6.格式化字符串 format()--]]
  9.         
  10. -- 字符串的常用函数
  11. str1 = 'luaC#Java'
  12. str2 = 'SQLServerOracle'

  13. -- 字符串的长度
  14. print(#str1)
  15. print(string.len(str1))

  16. -- 字符串大小写转换
  17. print('str1全部大写输出:'..string.upper(str1))
  18. print('str1全部大写输出:'..string.lower(str2))

  19. -- 字符串查找:注意:字符串都是下标从1 开始的(C# 语言下标从0开始的)
  20. findPos1 = string.find(str1,'a')                -- str1 是搜索的源字符串,“a”表示搜索的关键字
  21. findPos2 = string.find(str1,'a',5)                -- str2:"5"参数,表示字符串下标5的位置开始搜索
  22. print(findPos1)
  23. print(findPos2)


  24. -- 字符串截取
  25. strSub1 = string.sub('hello world',1,3)                                -- 从1个字字符串截取3个
  26. strSub1 = string.sub('同学们hello,大家好',1,4)               
  27. print(strSub1)
  28. print(strSub2)

  29. -- 字符串替换
  30. strGsub1 = string.gsub('hello world','l','z')                -- 把字符串里面的 l 替换成 z
  31. print(strGsub1)
  32. -- 字符串翻转
  33. strReverse = string.reverse('hello world')
  34. print('反转之后的字符串:'..strReverse)


  35. -- 格式化字符串输出
  36. -- 传统输出多个变量的长字符串,使用拼接的方式。
  37. num1,num2,num3 = 10,20,30
  38. -- 输出三个变量相加的结果
  39. print("加法:num1:"..num1.."+num2:"..num2.."+num3:"..num3.."result="..num1+num2+num3)
  40. -- 在举例
  41. print('select * from tableName where id=?')                --SQL 语句,查询数据库用的。

  42. -- 所以为了解决长字符串中添加多个变量的问题,为了简化写法,lua提供了 “字符串格式化”函数
  43. -- %d 表示一个数值型变量。
  44. -- %s 表示一个字符串变量。
  45. strResult = string.format('使用字符串格式化:num1:%d+ num2:%d+ num3:%d result=%d',num1,num2,num3,num1+num2+num3)
  46. print(strResult)
复制代码
  1. -- 转义字符串
  2. --[[常用转义字符串
  3.         回车        \r
  4.         换行        \n
  5.         反斜杠        \\
  6.         双引号        “”

  7. --]]

  8. -- 学习转义字符串
  9. print("--学习转义字符串--")
  10. print("你好\r吗?")                        -- 回车
  11. print('hello\nworld')                -- 换行
  12. print('hello\r\nworld')                -- 回车换行

  13. print('大家\\好')                        -- 输出反斜杠,一般常用在表示磁盘的路径
  14. print("D:\\Programe\\lua")
  15. print("大家‘好’吗?")
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则