我正在尝试进行简单的字符串操作:获取文件的名称,而不使用扩展名.只有,string.find()似乎有点问题: s = 'crate.png'i, j = string.find(s, '.')print(i, j) -- 1 1 并且只有点: s = 'crate.png'i, j = strin
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