TXT文本里 有 ‘采花大盗1号’ 这一句话, 如何用POS语句把里面的字符提取出来,撇开符号。
时间: 2024-09-25 21:04:52 浏览: 38
如果你想要从包含 "采花大盗1号" 的 TXT 文本中提取出这个完整的词语,并且忽略其中的单引号,可以先使用正则表达式或者 Delphi 内置的函数去除单引号,然后使用 `Pos` 或 `Find` 函数定位整个词组的位置。这里提供一个基本的例子:
```delphi
var
InputText: string; // 假设这是你的 TXT 文件内容
WordToFind: string := '采花大盗1号';
StartIndex: Integer;
InputText := ReadFile('your_text_file.txt'); // 读取文件内容
// 使用 Pos 函数定位,但是由于我们要找的是完整词组,所以忽略第一个和最后一个字符
StartIndex := Pos(WordToFind[1]..WordToFind[Length(WordToFind)-1], InputText);
if StartIndex > 0 then
begin
// 如果词组存在,则提取它
ExtractSubstring(TempString, InputText, StartIndex, Length(WordToFind)); // TempString 用于存放结果
// 现在 TempString 就是你想要的结果
end else
WriteLn('Word not found in the text.');
// 如果你想使用更现代的方式,可以用 Regular Expressions (RegEx)
// TSearchRec 对象可以完成类似的功能
// var re: TSearchRec; // 和对应 RegEx 类型变量
// if Freetype.FindFirst('(?<=[^"])["'].*?(?=["'])', [ftIgnoreCase, ftCompiled], re) = 0 then
// begin
// // re.CurrentData 包含匹配到的 "采花大盗1号"
// end;
```
这里 `WordToFind[1]..WordToFind[Length(WordToFind)-1]` 是为了排除首尾的单引号。请确保将 `'your_text_file.txt'` 替换为实际的文件路径。
阅读全文