主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

向下

解析字符串 找到类似的分支


ded_di   (2002-04-12 12:11) [0]

向导。 我正在寻找一个很好的组件来解析类型为parameter = value ... parameter = value等的字符串。如果有人工作并且有自己的见解,我想认识他。 谢谢啦



IMHO   (2002-04-12 12:12) [1]

TIniFile不适合吗?



Виктор Щербаков   (2002-04-12 12:13) [2]

为此需要组件吗?
一个更简单的功能。



Игорь Шевченко   (2002-04-12 12:15) [3]

美好的一天,

该组件称为TStringList

真诚的,



Александр С..   (2002-04-12 12:16) [4]

TStrings拥有了一切。



ded_di   (2002-04-12 12:26) [5]

亲爱的大师们,显然不理解我的想法(或者我被扯了)。 放一条线

Параметр1=значение1 парамеТР2=значение2 Параметр3=
значение3 параметр4
=
зна чение 4 параметр5 = "значение5"

如何解析它并通过参数名称获取值? 并都一样。



DieHard   (2002-04-12 12:32) [6]

用换行符和TStringList中的畜栏替换空格



Игорь Шевченко   (2002-04-12 12:32) [7]

美好的一天,

将此行转换为表单的行列表

参数1 =值1
参数TP2 = value2
参数3 =值3
parameterNUMX = value4
parameterNUMX = value5

接下来,使用方法TStrings,TStringList

真诚的,





Андрей Сенченко   (2002-04-12 12:40) [8]

>> DieHard©(12.04.02/12/32 XNUMX:XNUMX)
>>伊戈尔·舍甫琴科©(12.04.02/12/32 XNUMX:XNUMX)

所呈现的文本的想法不太理想。

>> ded_di(12.04.02/12/26 XNUMX:XNUMX)

如果源文本看起来像您上面描述的那样(也就是说,空格和换行符可以在文本中的任何位置,并且参数名称没有相同的开头),那么...将很难



ded_di   (2002-04-12 12:41) [9]

一秒钟,参数的值4等于4。这就是事实。



Андрей Сенченко   (2002-04-12 12:48) [10]

然后(我认为)该任务超出了机器逻辑的范围。 您引用的文本中没有实际的分隔符,参数=值。 您无法向汽车解释“在这里玩,不要在这里玩,但是我在这里包裹了鱼”



Anatoly Podgoretsky   (2002-04-12 12:49) [11]

您没有实现这一点的逻辑线索,需要分隔符



Виктор Щербаков   (2002-04-12 12:49) [12]

首先,您需要定义词汇表和语法,然后编写一个简单的(或并非如此)解析器。



ded_di   (2002-04-12 12:58) [13]

大师 我再次呼吁。 在示例中,您可以这样做

Параметр1="значение1" парамеТР2="значение2" Параметр3="
значение3" параметр4
="
зна чение 4" параметр5 = "значение5"

这是可能的,因为参数名称后跟有“ =”,但是这样的搜索以及随后用换行符替换空格,如果它们不在引号中,则任务很长。 我正在寻找可以快速工作的东西。 顺便说一句,参数名称不区分大小写。



Игорь Шевченко   (2002-04-12 13:11) [14]

美好的一天,

我认为,编写解析器比问问题要快:-)
此外,如果可以将每个值都用引号引起来,并且根据问题的情况,则值(在含义上)不应有空格和引号。
第一步是删除所有空格和换行符,此后每个偶数引号将指示该对的结尾Parameter =“ Value”。

真诚的,



Андрей Сенченко   (2002-04-12 13:15) [15]

>> ded_di(12.04.02/12/58 XNUMX:XNUMX)
>>漫长的任务

你确定 我不知道

这种情况下的算法非常简单。

Repeat

1. Ищешь вхождение 1-го " = " в строке
2. Убиваешь после него все пробелы до достижения 1-го " " "
3. Ищешь входждение 1-го " " " начиная с того, что за " = "
4. Сносишь все, что за этими кавычками переносом строки.
5. объявляещь строкой под обработку то, что осталось.

Until EOF



Виктор Щербаков   (2002-04-12 13:20) [16]

您的标记是:字符串,参数,相等。
进一步的语法:
“程序”:
“表达”“程序”
“表达式”:
参数等于表达式。
仅此而已。 最多写半个小时。



Виктор Щербаков   (2002-04-12 13:21) [17]

我道歉:
“程序”:
“表达”“程序”
“表达式”:
参数相等 字符串.



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.04.25;
下载:[xml.tar.bz2];

楼上





内存:0.6 MB
时间:0.039 c
1-80888
麻醉剂
2002-04-14 15:08
2002.04.25
TabSet和键盘


14-81043
flomo
2002-03-19 20:36
2002.04.25
小问题


1-80975
SB.John
2002-04-12 12:54
2002.04.25
如何清洁画布


14-81070
萨瓦
2002-03-20 10:37
2002.04.25
同志们!! 我们有机会出类拔萃! (和啤酒要求免费o-)))


1-80997
Sasha9
2002-04-12 18:36
2002.04.25
指针>数组





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法语
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 淡米尔文 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский