【问题标题】:string.find function functionality in LuaLua 中的 string.find 函数功能
【发布时间】:2019-12-12 12:03:39
【问题描述】:

下面是我的一段代码

str = "abc@hotmailcom"
a = string.find(str , "@")
print(a)

我的输出是 4,即“@”的位置值

但是当我运行以下代码时

str = "abc@hotmailcom"
a = string.find(str , ".")
print(a)

程序不输出“nil”,而是返回值 1。

我是 Lua 语言的新手,谁能向我解释发生了什么以及 string.find() 在 lua 中如何工作?

【问题讨论】:

    标签: string lua find


    【解决方案1】:

    . 是 lua 模式中所有字符的字符类,你必须用% 转义它。 见Lua Patterns

    > print(string.find("abc@hotmailcom", "."))
    1       1
    > print(string.find("abc@hotmailcom", "%."))
    nil
    

    【讨论】:

    • 还有string.find("abc@hotmailcom", ".",1,true),以避免解释魔术字符。
    猜你喜欢
    • 2017-03-01
    • 2017-08-08
    • 2014-08-04
    • 1970-01-01
    • 2016-02-13
    • 2012-02-23
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    相关资源
    最近更新 更多