找到&在文本

时间:2017-09-05 10:17:41

标签: lazarus freepascal

我正在寻找一种简单/快捷的方法来识别和提取字符串中的主题标签,并暂时将它们分开存储 - 例如:

如果我有以下字符串:

  

2017-08-31这是一个无用的句子作为例子。 #Example #Date:2017-09-01 #NothingWow(然后再提供更多文字)。

然后我希望能够得到这个:

#Example
#Date:2017-09-01
#NothingWow

我认为将它存储在 TStringList 中应该足够,直到我完成。我只需要将它们存储在原始字符串之外以便于交叉引用,然后如果原始字符串发生更改,则在最后添加它们。 (但这很容易 - 它的提取部分我遇到了的问题)

当它遇到 [space] 时应该从#和end / break开始。

我最初计划的方式是使用布尔标志(默认为False ),然后检查不同的主题标签,如果找到则将它们设置为true,并在之后提取任何内容[ :] 分开。 (但我确信有更好的方法

非常感谢任何建议。

1 个答案:

答案 0 :(得分:3)

以下显示了一个简单的控制台应用程序,您可以将其用作基础 寻求解决方案。它的工作原理是因为将输入字符串分配给DelimitedText的{​​{1}}属性会导致StringList将输入解析为一系列限制空间的行。然后,查找以StringList开头的那些。

是一件简单的事情

代码是作为Delphi控制台应用程序编写的,但转换为Lazarus / FPC应该是微不足道的。

代码:

#