【问题标题】:Use of ^ and gsub in LuaLua 中 ^ 和 gsub 的使用
【发布时间】:2014-04-06 11:38:11
【问题描述】:
function title case(theString)  
    return (theString:gsub("^%a", string.upper):gsub("%s+%a", string.upper)) 
end
  1. 我有上面提到的代码。我想知道上面代码中^ 运算符的用法。我知道 ^ 在集合中用于排除/否定集合中的后续值,但由于它不是集合,^ 的含义是什么?

  2. 为什么gsub 在上面的代码中使用了两次?这两次,字母都被转换为大写!请解释上面代码行中到底发生了什么。

【问题讨论】:

  • return ((' '..theString):gsub("%s%a", string.upper):sub(2))

标签: string lua gsub lua-patterns


【解决方案1】:
  1. 模式开头的^ 是“字符串开头”的锚点,即"^%a" 仅当它位于字符串开头时才匹配"%a"(一个字母)。

  2. 第一个string.gsub()是把字符串中的第一个字母变成大写,第二个string.gsub()是把其他单词的第一个字母(一个跟在空格后面的字母)变成大写。

    例如,字符串"hello world" 在第一个string.gsub() 之后变成"Hello world",然后在第二个string.gsub() 之后变成"Hello World"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    相关资源
    最近更新 更多