Вверх ↑
Этот топик читают: Гость
Ответов: 182
Рейтинг: 14
#1: 2021-12-31 18:00:21 ЛС | профиль | цитата
Здравствуйте.
Подскажите пожалуйста, как найти указанную строку в тексте?
Есть текст:"1335664975623845163"
Нужно найти в тексте строку:"566"
карма: 0

0
Ответов: 1926
Рейтинг: 172
#2: 2021-12-31 18:15:22 ЛС | профиль | цитата

Add(Position,11975439,336,210)
{
Target="566"
ZeroPos=0
ShortSearch=1
link(onSearch,7676354:doCase,[])
link(Str,14516029:Text,[])
}
Add(Edit,14516029,336,154)
{
Left=10
Top=20
Width=340
Text="1335664975623845163"
}
Add(Button,12487783,287,210)
{
Left=10
Top=50
link(onClick,11975439:doSearch,[])
}
Add(Message,4468198,441,217)
{
Message="Не встречается"
}
Add(Message,7235295,441,175)
{
Message="Встречается"
}
Add(Case,7676354,385,210)
{
Value=Integer(0)
link(onNextCase,7235295:doMessage,[(429,216)(429,181)])
link(onTrue,4468198:doMessage,[])
}
карма: 9
1
Голосовали:Stalevar
Ответов: 182
Рейтинг: 14
#3: 2021-12-31 18:19:07 ЛС | профиль | цитата
3042, Большое Спасибо.

--- Добавлено в 2021-12-31 19:14:59

3042, А как в текстовом файле? c:\\file.txt

Редактировалось 1 раз(а), последний 2021-12-31 19:14:59
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#4: 2021-12-31 19:18:46 ЛС | профиль | цитата
Stalevar писал(а):
А как в текстовом файле? c:\\file.txt

Использовать компонент

Add(SearchInFile,4571239,266,273)
{
}

карма: 22

0
Ответов: 182
Рейтинг: 14
#5: 2021-12-31 19:23:16 ЛС | профиль | цитата
nesco, Через этот компонент ведь не найти внутри текста строку
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#6: 2021-12-31 19:34:22 ЛС | профиль | цитата
Stalevar писал(а):
nesco, Через этот компонент ведь не найти внутри текста строку

Этот компонент выдает строку, в которой находится искомый текст, а точную позицию текста в этой строке уже ищешь вышеприведенной схемой. Если текст небольшой, то грузи его в StrList и ищи свою подстроку спокойно в тексте.

Редактировалось 2 раз(а), последний 2021-12-31 19:37:04
карма: 22

0
Ответов: 182
Рейтинг: 14
#7: 2021-12-31 20:45:57 ЛС | профиль | цитата
Надо как то так, только текст в txt файле будет в одну строку и слитно "542876"
Add(SearchInFile,9758719,329,329)
{
FileName="c:\\file.txt"
Sensitive=1
link(onSearch,1210219:doEvent1,[])
link(Text,1458901:Item,[])
}
Add(ArrayEnum,1458901,336,266)
{
link(onItem,9758719:doSearch,[(378,272)(378,317)(317,317)(317,335)])
link(Array,15238356:Array,[])
}
Add(StrList,15238356,322,217)
{
AddType=1
Strings=#3:542|3:876|3:154|
Point(EndIdx)
}
Add(Button,2017263,245,266)
{
Left=40
Top=85
link(onClick,1458901:doEnum,[])
}
Add(Label,5062015,525,336)
{
Left=160
Top=60
}
Add(Label,14301458,525,420)
{
Left=160
Top=120
}
Add(Label,9675206,525,378)
{
Left=160
Top=90
}
Add(If_else,13878268,455,336)
{
Op2=String(542)
link(onTrue,5062015:doText,[])
}
Add(If_else,12592261,455,378)
{
Op2=String(876)
link(onTrue,9675206:doText,[])
}
Add(If_else,3785241,455,420)
{
Op2=String(154)
link(onTrue,14301458:doText,[])
}
Add(Hub,1210219,371,336)
{
OutCount=3
link(onEvent1,13878268:doCompare,[])
link(onEvent2,12592261:doCompare,[(420,349)(420,384)])
link(onEvent3,3785241:doCompare,[(412,356)(412,426)])
}


Редактировалось 1 раз(а), последний 2021-12-31 20:50:03
карма: 0

0
Ответов: 783
Рейтинг: 168
#8: 2021-12-31 21:06:00 ЛС | профиль | цитата
Stalevar писал(а):
Надо как то так, только текст в txt файле будет в одну строку и слитно "542876"

Нужно найти позицию подстроки в строке или просто, содержит ли данная строка указанные подстроки да/нет?

Редактировалось 1 раз(а), последний 2021-12-31 21:06:36
карма: 15

0
Ответов: 1926
Рейтинг: 172
#9: 2021-12-31 21:19:29 ЛС | профиль | цитата
Вот, находит все вхождения во всех строках текстового файла.

Add(SearchInFile,9758719,329,581)
{
FileName="c:\\file.txt"
Sensitive=1
Point(NumStr)
link(onSearch,7156946:doValue,[])
}
Add(ArrayEnum,1458901,441,588)
{
link(onItem,10987599:doEvent1,[])
link(Array,15238356:Array,[])
}
Add(StrList,15238356,427,525)
{
AddType=1
Strings=#3:542|3:876|3:154|
Point(EndIdx)
}
Add(Button,2017263,266,581)
{
Left=40
Top=85
link(onClick,9758719:doSearch,[])
}
Add(Position,11975439,546,588)
{
ZeroPos=0
link(onSearch,7676354:doCase,[])
link(Str,11457084:Var,[])
link(Target,5044438:Var2,[])
}
Add(Message,7235295,707,588)
{
link(onMessage,10987599:doEvent2,[(751,594)(751,647)(501,647)(501,601)])
}
Add(Case,7676354,595,588)
{
Value=Integer(0)
link(onNextCase,11444184:doString,[])
}
Add(Memory,7156946,378,588)
{
link(onData,1458901:doEnum,[])
}
Add(LineBreak,8037971,378,630)
{
Type=1
link(Data,7156946:Value,[])
Primary=[11457084,168,-91]
}
Add(FormatStr,11444184,651,588)
{
DataCount=3
Mask="Строка "%1" найдена в %2-й строке файла в позиции %3."
link(onFString,7235295:doMessage,[])
link(Str1,5044438:Var3,[(657,572)])
link(Str2,2139329:Var,[])
link(Str3,11975439:Position,[(671,576)(611,576)(611,632)(552,632)])
}
Add(GetDataEx,5044438,553,567)
{
Angle=3
link(Data,1458901:Item,[(482,572)(482,632)(447,632)])
}
Add(LineBreak,12876570,329,630)
{
Type=1
link(Data,9758719:NumStr,[])
Primary=[2139329,329,-84]
}
Add(Hub,10987599,518,588)
{
InCount=2
OutCount=1
link(onEvent1,11975439:doSearch,[])
}
карма: 9
2
Голосовали:Stalevar, sintet
Ответов: 182
Рейтинг: 14
#10: 2021-12-31 21:38:12 ЛС | профиль | цитата
3042, То что нужно, Спасибо.
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#11: 2021-12-31 22:40:31 ЛС | профиль | цитата
3042 писал(а):
Вот, находит все вхождения во всех строках текстового файла

Ты даже не оставил ни шанса ТС-у подумать
карма: 22

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)