当前位置 : 主页 > 网络编程 > lua >

找到’.’与string.find()

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在尝试进行简单的字符串操作:获取文件的名称,而不使用扩展名.只有,string.find()似乎有点问题: s = 'crate.png'i, j = string.find(s, '.')print(i, j) -- 1 1 并且只有点: s = 'crate.png'i, j = strin
我正在尝试进行简单的字符串操作:获取文件的名称,而不使用扩展名.只有,string.find()似乎有点问题:

s = 'crate.png'
i, j = string.find(s, '.')
print(i, j) --> 1 1

并且只有点:

s = 'crate.png'
i, j = string.find(s, 'p')
print(i, j) --> 7 7

这是一个错误,还是我做错了什么?

string.find(),默认情况下,在字符串中找不到字符串,它在字符串中找到 patterns.更多完整信息可以在链接中找到,但这是相关部分;

The ‘.’ represents a wildcard character, which can represent any character.

要实际找到字符串.,需要使用百分号%来转义句点.

编辑:或者,你可以传入一些额外的参数,find(pattern,init,plain),它允许你传入true作为最后一个参数并搜索普通字符串.那会是你的陈述;

> i, j = string.find(s, '.', 1, true)   -- plain search starting at character 1
> print(i, j) 
6 6
网友评论