<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Поиск подстроки в строке]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Поиск подстроки в строке форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 02 May 2026 14:28:37 +0300</pubDate>
		<item>
			<title>Поиск подстроки в строке</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40907/topic4906/">Поиск подстроки в строке</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Разобрался. Использовал следующую конструкцию:<br />p = string.find(s1, s2, 0, true);<br /><br />где <br />s1 - строка в которой ищем подстроку s2, <br /><br />0 - символ с которого начинаем поиск, <br /><br />true - отключение спецсимволов <br />
			<i>01.12.2019 15:39:48, Андрей А.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40907/topic4906/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40907/topic4906/</guid>
			<pubDate>Sun, 01 Dec 2019 15:39:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Поиск подстроки в строке</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message40906/topic4906/">Поиск подстроки в строке</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не получается решить тривиальную вроде бы задачу: найти подстроку в строке. Есть строка, считываемая из текстового файла
====code====
<pre>2019-11-29 11:40:57 --- 0.3866 --- 52.1600000
</pre>
=============
и подстрока, индекс первого вхождения которой нужно найти: &quot; --- &quot; (всего в ней пять символов). Использую следующий код <br />
====code====
<pre>...

f_a = io.open(testFile1,"r");
f_t = io.open(testFile2,"w");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
for line in f_a:lines() do 
&nbsp;&nbsp;&nbsp;ln = line;
&nbsp;&nbsp;&nbsp;p = ln:find(" --- ");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_t:write(p, "&#92;n");
end; 
</pre>
=============
и получаю p = 11 . Экспериментирую с разными строками и подстроками пришел к выводу, что проблема в следующем: функция find берет первый символ искомой подстроки (в моем примере это пробел) и возвращает его первое вхождение в строку. Как же тогда заставить ее искать вхождение всей подстроки / что я делаю не так? <br />
			<i>01.12.2019 15:08:18, Андрей А.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message40906/topic4906/</link>
			<guid>http://forum.quik.ru/messages/forum10/message40906/topic4906/</guid>
			<pubDate>Sun, 01 Dec 2019 15:08:18 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
