【发布时间】:2014-11-02 04:10:26
【问题描述】:
我正在使用Get_Line 从用户那里获得输入,
字符串可以是一个命令后跟一个值(命令---一个或多个空格---值---换行),
CMD 4
CMD 6
CMD 10
如何解析单个变量中的命令和值?
到目前为止,我可以在空格之前解析字符串,但是在空格之后如何获取值并将其转换为整数?
for I in ip'Range loop
if ip(I) = ' ' or ip(I) = HT then
Put_Line(CMD);
Put_Line(Integer'Image(Index));
else
CMD(I) := ip(I);
Index := Index+1;
end if;
end loop;
--
谢谢
【问题讨论】:
-
提示:研究正则表达式。
-
@NWS -- 虽然 RegEx 适用于这个特定问题,但我不能凭良心推荐它。作为一名维护程序员,RegEx 一直是痛苦的根源:太脆弱了,而且经常在不恰当的时候使用(例如“解析”CSV)。
-
@Shark8 关于正则表达式的缺点的好点,但是关于它对 OPs 问题的实际适用性,我们几乎没有什么可继续的。