我正在尝试进行简单的字符串操作:获取文件名,不带扩展名。只有,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
关于string - 使用 string.find() 查找 '.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258313/