Lua string.find не найдет шаблон

В настоящее время я работаю над программой для моей веб-страницы на 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)...

1 ответ

Решение

Вам нужно сбежать - в text-align в вашей функции string.find.

nic,start=string.find(fContent,"<h1 style='text%-align: center;'>")

сделаю это.

Причина в том, что - это особый характер. Вы можете узнать больше о специальных персонажах здесь:

Программирование на Lua: паттерны

Другие вопросы по тегам