-- 6. 实现一个 replaceWords(s, dict),支持根据字典批量替换单词。
-- 输入:"Lua is fun", {Lua="C#", fun="great"}
-- 输出:"C# is great"
Lualocal function replaceWords(s, dict) local newStr = s local count = 0 for i, v in pairs(dict) do newStr,count = newStr:gsub(i, v) end return newStr end-- 7. 将驼峰命名(camelCase)转换为下划线命名(camel_case)
Lualocal function renameToUnderLine(s) local newStr, count = s:gsub("%u", function(ch) return "_" .. ch:lower() end) return newStr end print(renameToUnderLine("camelCase"))-- 8. 实现一个函数,将字符串中的所有数字替换成相同数量的 *。
-- 输入:"Lua123Code"
-- 输出:"Lua***Code"
Lualocal function numberToStar(s) if type(s) ~= "string" then print("请输入字符串,拜托!!!") return nil end local s = s:gsub("%d", "*") return s end print(numberToStar("Lua123Code"))-- 9. 编写函数,将字符串中的中文数字(一二三四)转为阿拉伯数字(1234)。
Lualocal Chinesetbl = { "一", "二", "三", "四", "五", "六", "七", "八", "九", [0] = "零"} local function matchChineseToNumber(s) if type(s) ~= "string" then print("请输入字符串,拜托!!!") return nil end for i, v in pairs(Chinesetbl) do s = s:gsub(v, i) end return s end print(matchChineseToNumber("一二零三四"))-- 10. 实现一个函数,反转字符串中每个单词的位置,但保持单词内部字母顺序不变。
Lualocal function reversedStr(s) if type(s) ~= "string" then print("请输入字符串,拜托!!!") return nil end local resultTable = {} local mod = "%w+" for part in s:gmatch(mod) do table.insert(resultTable, part) end local resultTableCount = #resultTable local middleNumber = math.floor(resultTableCount / 2) for i = 1, middleNumber do resultTable[i], resultTable[#resultTable + 1 - i] = resultTable[#resultTable + 1 - i], resultTable[i] end return table.concat(resultTable, " ") end print(reversedStr("halo")) print(reversedStr("Lua is fun"))
【Lua】题目小练14
大飞pkz2025-09-04 10:19
相关推荐
FRing0315 分钟前
vue2干货总结7(自定义指令、插槽、单页应用程序、路由的使用(VueRouter))雪落漂泊20 分钟前
C++算法 二分查找篇(上)波力海苔夹心脆6751 小时前
C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例不会算法的笨小孩2 小时前
异常的使用以及会出现的问题Hhy_11074 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透starzy19904 小时前
深入理解Scala函数定义:从方法到函数的类型跨越starzy19904 小时前
深入理解Scala递归函数:从栈溢出到尾调用优化三*一4 小时前
Mapbox‑GL JS 多边形折点编辑工具:实现原理、功能拆解与踩坑总结YSL0701244 小时前
C++基础若亦_5 小时前
Java中关于this的三种用法