Lua的string.find无法找到匹配模式。

3

我目前正在使用Lua 5.1为我的网页编写程序,并在一些奇怪的地方卡住了。

file=io.open("articles/" .. string.sub(string,1) .. "_1250.html")
fContent=file:read("*a")

nic,start=string.find(fContent,"<h1 style='text-align: center;'>")
print(fContent)
print(nic,start)
len=string.find(fContent,"</h1>",start)
name=string.sub(fContent,start+1,len-1)

返回值

(...blah blah blah boring file(fContent)....)

     <h1 style='text-align: center;'>Article name</h1>
     <i id='desc'>Article description</i>

</div>
nil     nil

我也尝试找到了:

[[<h1 style='text-align: center;'>]]

或者

"h1 style='text-align: center;'"

但它并没有起作用(返回 nil)...


"<h1 style='text%-align: center;'>" 已经生效。 - IsawU
1个回答

6
您需要在字符串查找函数中转义text-align中的-
nic,start=string.find(fContent,"<h1 style='text%-align: center;'>")

好的,我将会做到。

之所以这样做是因为 - 是一个特殊字符。您可以在此处了解更多有关特殊字符的信息:

Lua 编程语言:模式


4
هڈ¯ن»¥ن½؟用fContent:findن»£و›؟string.find(fContent, م€‚ - ryanpattison

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接